Business Understanding

Spam can lead to some bad stuff, let’s stop it.

Load libraries and packages

library(e1071)  #library for skewness
require(xgboost)
library(pROC)
library(magrittr)
library(dplyr)

Load data

rm(list=ls())
spam<-read.csv("/Users/kent/Library/Mobile Documents/com~apple~CloudDocs/Leeds/Spring/MSBX5415-002AdvancedDataAnalytics/Project/dataset_44_spambase.csv",header=T,na.strings=c("","NA"))

Quick look at top of the file

head(spam)

Quick look at the bottom of the file

tail(spam)

How big is file

dim(spam)
[1] 4601   58

Data Understanding

This data is a curated sample from HP, should not be considered a random sample, each row is an email word_freq… = frequency of word in email char_freq… = " character capital… = stats on capitalized… class = label, target, binary

Look at content, quick summary

str(spam)
'data.frame':   4601 obs. of  58 variables:
 $ word_freq_make            : num  0 0.21 0.06 0 0 0 0 0 0.15 0.06 ...
 $ word_freq_address         : num  0.64 0.28 0 0 0 0 0 0 0 0.12 ...
 $ word_freq_all             : num  0.64 0.5 0.71 0 0 0 0 0 0.46 0.77 ...
 $ word_freq_3d              : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_our             : num  0.32 0.14 1.23 0.63 0.63 1.85 1.92 1.88 0.61 0.19 ...
 $ word_freq_over            : num  0 0.28 0.19 0 0 0 0 0 0 0.32 ...
 $ word_freq_remove          : num  0 0.21 0.19 0.31 0.31 0 0 0 0.3 0.38 ...
 $ word_freq_internet        : num  0 0.07 0.12 0.63 0.63 1.85 0 1.88 0 0 ...
 $ word_freq_order           : num  0 0 0.64 0.31 0.31 0 0 0 0.92 0.06 ...
 $ word_freq_mail            : num  0 0.94 0.25 0.63 0.63 0 0.64 0 0.76 0 ...
 $ word_freq_receive         : num  0 0.21 0.38 0.31 0.31 0 0.96 0 0.76 0 ...
 $ word_freq_will            : num  0.64 0.79 0.45 0.31 0.31 0 1.28 0 0.92 0.64 ...
 $ word_freq_people          : num  0 0.65 0.12 0.31 0.31 0 0 0 0 0.25 ...
 $ word_freq_report          : num  0 0.21 0 0 0 0 0 0 0 0 ...
 $ word_freq_addresses       : num  0 0.14 1.75 0 0 0 0 0 0 0.12 ...
 $ word_freq_free            : num  0.32 0.14 0.06 0.31 0.31 0 0.96 0 0 0 ...
 $ word_freq_business        : num  0 0.07 0.06 0 0 0 0 0 0 0 ...
 $ word_freq_email           : num  1.29 0.28 1.03 0 0 0 0.32 0 0.15 0.12 ...
 $ word_freq_you             : num  1.93 3.47 1.36 3.18 3.18 0 3.85 0 1.23 1.67 ...
 $ word_freq_credit          : num  0 0 0.32 0 0 0 0 0 3.53 0.06 ...
 $ word_freq_your            : num  0.96 1.59 0.51 0.31 0.31 0 0.64 0 2 0.71 ...
 $ word_freq_font            : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_000             : num  0 0.43 1.16 0 0 0 0 0 0 0.19 ...
 $ word_freq_money           : num  0 0.43 0.06 0 0 0 0 0 0.15 0 ...
 $ word_freq_hp              : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_hpl             : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_george          : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_650             : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_lab             : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_labs            : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_telnet          : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_857             : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_data            : num  0 0 0 0 0 0 0 0 0.15 0 ...
 $ word_freq_415             : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_85              : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_technology      : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_1999            : num  0 0.07 0 0 0 0 0 0 0 0 ...
 $ word_freq_parts           : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_pm              : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_direct          : num  0 0 0.06 0 0 0 0 0 0 0 ...
 $ word_freq_cs              : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_meeting         : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_original        : num  0 0 0.12 0 0 0 0 0 0.3 0 ...
 $ word_freq_project         : num  0 0 0 0 0 0 0 0 0 0.06 ...
 $ word_freq_re              : num  0 0 0.06 0 0 0 0 0 0 0 ...
 $ word_freq_edu             : num  0 0 0.06 0 0 0 0 0 0 0 ...
 $ word_freq_table           : num  0 0 0 0 0 0 0 0 0 0 ...
 $ word_freq_conference      : num  0 0 0 0 0 0 0 0 0 0 ...
 $ char_freq_.3B             : num  0 0 0.01 0 0 0 0 0 0 0.04 ...
 $ char_freq_.28             : num  0 0.132 0.143 0.137 0.135 0.223 0.054 0.206 0.271 0.03 ...
 $ char_freq_.5B             : num  0 0 0 0 0 0 0 0 0 0 ...
 $ char_freq_.21             : num  0.778 0.372 0.276 0.137 0.135 0 0.164 0 0.181 0.244 ...
 $ char_freq_.24             : num  0 0.18 0.184 0 0 0 0.054 0 0.203 0.081 ...
 $ char_freq_.23             : num  0 0.048 0.01 0 0 0 0 0 0.022 0 ...
 $ capital_run_length_average: num  3.76 5.11 9.82 3.54 3.54 ...
 $ capital_run_length_longest: int  61 101 485 40 40 15 4 11 445 43 ...
 $ capital_run_length_total  : int  278 1028 2259 191 191 54 112 49 1257 749 ...
 $ class                     : int  1 1 1 1 1 1 1 1 1 1 ...

Descriptive stats

summary(spam)
 word_freq_make   word_freq_address word_freq_all     word_freq_3d     
 Min.   :0.0000   Min.   : 0.000    Min.   :0.0000   Min.   : 0.00000  
 1st Qu.:0.0000   1st Qu.: 0.000    1st Qu.:0.0000   1st Qu.: 0.00000  
 Median :0.0000   Median : 0.000    Median :0.0000   Median : 0.00000  
 Mean   :0.1046   Mean   : 0.213    Mean   :0.2807   Mean   : 0.06542  
 3rd Qu.:0.0000   3rd Qu.: 0.000    3rd Qu.:0.4200   3rd Qu.: 0.00000  
 Max.   :4.5400   Max.   :14.280    Max.   :5.1000   Max.   :42.81000  
 word_freq_our     word_freq_over   word_freq_remove word_freq_internet
 Min.   : 0.0000   Min.   :0.0000   Min.   :0.0000   Min.   : 0.0000   
 1st Qu.: 0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.: 0.0000   
 Median : 0.0000   Median :0.0000   Median :0.0000   Median : 0.0000   
 Mean   : 0.3122   Mean   :0.0959   Mean   :0.1142   Mean   : 0.1053   
 3rd Qu.: 0.3800   3rd Qu.:0.0000   3rd Qu.:0.0000   3rd Qu.: 0.0000   
 Max.   :10.0000   Max.   :5.8800   Max.   :7.2700   Max.   :11.1100   
 word_freq_order   word_freq_mail    word_freq_receive word_freq_will  
 Min.   :0.00000   Min.   : 0.0000   Min.   :0.00000   Min.   :0.0000  
 1st Qu.:0.00000   1st Qu.: 0.0000   1st Qu.:0.00000   1st Qu.:0.0000  
 Median :0.00000   Median : 0.0000   Median :0.00000   Median :0.1000  
 Mean   :0.09007   Mean   : 0.2394   Mean   :0.05982   Mean   :0.5417  
 3rd Qu.:0.00000   3rd Qu.: 0.1600   3rd Qu.:0.00000   3rd Qu.:0.8000  
 Max.   :5.26000   Max.   :18.1800   Max.   :2.61000   Max.   :9.6700  
 word_freq_people  word_freq_report   word_freq_addresses word_freq_free   
 Min.   :0.00000   Min.   : 0.00000   Min.   :0.0000      Min.   : 0.0000  
 1st Qu.:0.00000   1st Qu.: 0.00000   1st Qu.:0.0000      1st Qu.: 0.0000  
 Median :0.00000   Median : 0.00000   Median :0.0000      Median : 0.0000  
 Mean   :0.09393   Mean   : 0.05863   Mean   :0.0492      Mean   : 0.2488  
 3rd Qu.:0.00000   3rd Qu.: 0.00000   3rd Qu.:0.0000      3rd Qu.: 0.1000  
 Max.   :5.55000   Max.   :10.00000   Max.   :4.4100      Max.   :20.0000  
 word_freq_business word_freq_email  word_freq_you    word_freq_credit  
 Min.   :0.0000     Min.   :0.0000   Min.   : 0.000   Min.   : 0.00000  
 1st Qu.:0.0000     1st Qu.:0.0000   1st Qu.: 0.000   1st Qu.: 0.00000  
 Median :0.0000     Median :0.0000   Median : 1.310   Median : 0.00000  
 Mean   :0.1426     Mean   :0.1847   Mean   : 1.662   Mean   : 0.08558  
 3rd Qu.:0.0000     3rd Qu.:0.0000   3rd Qu.: 2.640   3rd Qu.: 0.00000  
 Max.   :7.1400     Max.   :9.0900   Max.   :18.750   Max.   :18.18000  
 word_freq_your    word_freq_font    word_freq_000    word_freq_money   
 Min.   : 0.0000   Min.   : 0.0000   Min.   :0.0000   Min.   : 0.00000  
 1st Qu.: 0.0000   1st Qu.: 0.0000   1st Qu.:0.0000   1st Qu.: 0.00000  
 Median : 0.2200   Median : 0.0000   Median :0.0000   Median : 0.00000  
 Mean   : 0.8098   Mean   : 0.1212   Mean   :0.1016   Mean   : 0.09427  
 3rd Qu.: 1.2700   3rd Qu.: 0.0000   3rd Qu.:0.0000   3rd Qu.: 0.00000  
 Max.   :11.1100   Max.   :17.1000   Max.   :5.4500   Max.   :12.50000  
  word_freq_hp     word_freq_hpl     word_freq_george  word_freq_650   
 Min.   : 0.0000   Min.   : 0.0000   Min.   : 0.0000   Min.   :0.0000  
 1st Qu.: 0.0000   1st Qu.: 0.0000   1st Qu.: 0.0000   1st Qu.:0.0000  
 Median : 0.0000   Median : 0.0000   Median : 0.0000   Median :0.0000  
 Mean   : 0.5495   Mean   : 0.2654   Mean   : 0.7673   Mean   :0.1248  
 3rd Qu.: 0.0000   3rd Qu.: 0.0000   3rd Qu.: 0.0000   3rd Qu.:0.0000  
 Max.   :20.8300   Max.   :16.6600   Max.   :33.3300   Max.   :9.0900  
 word_freq_lab      word_freq_labs   word_freq_telnet   word_freq_857    
 Min.   : 0.00000   Min.   :0.0000   Min.   : 0.00000   Min.   :0.00000  
 1st Qu.: 0.00000   1st Qu.:0.0000   1st Qu.: 0.00000   1st Qu.:0.00000  
 Median : 0.00000   Median :0.0000   Median : 0.00000   Median :0.00000  
 Mean   : 0.09892   Mean   :0.1029   Mean   : 0.06475   Mean   :0.04705  
 3rd Qu.: 0.00000   3rd Qu.:0.0000   3rd Qu.: 0.00000   3rd Qu.:0.00000  
 Max.   :14.28000   Max.   :5.8800   Max.   :12.50000   Max.   :4.76000  
 word_freq_data     word_freq_415      word_freq_85     word_freq_technology
 Min.   : 0.00000   Min.   :0.00000   Min.   : 0.0000   Min.   :0.00000     
 1st Qu.: 0.00000   1st Qu.:0.00000   1st Qu.: 0.0000   1st Qu.:0.00000     
 Median : 0.00000   Median :0.00000   Median : 0.0000   Median :0.00000     
 Mean   : 0.09723   Mean   :0.04784   Mean   : 0.1054   Mean   :0.09748     
 3rd Qu.: 0.00000   3rd Qu.:0.00000   3rd Qu.: 0.0000   3rd Qu.:0.00000     
 Max.   :18.18000   Max.   :4.76000   Max.   :20.0000   Max.   :7.69000     
 word_freq_1999  word_freq_parts   word_freq_pm      word_freq_direct 
 Min.   :0.000   Min.   :0.0000   Min.   : 0.00000   Min.   :0.00000  
 1st Qu.:0.000   1st Qu.:0.0000   1st Qu.: 0.00000   1st Qu.:0.00000  
 Median :0.000   Median :0.0000   Median : 0.00000   Median :0.00000  
 Mean   :0.137   Mean   :0.0132   Mean   : 0.07863   Mean   :0.06483  
 3rd Qu.:0.000   3rd Qu.:0.0000   3rd Qu.: 0.00000   3rd Qu.:0.00000  
 Max.   :6.890   Max.   :8.3300   Max.   :11.11000   Max.   :4.76000  
  word_freq_cs     word_freq_meeting word_freq_original word_freq_project
 Min.   :0.00000   Min.   : 0.0000   Min.   :0.0000     Min.   : 0.0000  
 1st Qu.:0.00000   1st Qu.: 0.0000   1st Qu.:0.0000     1st Qu.: 0.0000  
 Median :0.00000   Median : 0.0000   Median :0.0000     Median : 0.0000  
 Mean   :0.04367   Mean   : 0.1323   Mean   :0.0461     Mean   : 0.0792  
 3rd Qu.:0.00000   3rd Qu.: 0.0000   3rd Qu.:0.0000     3rd Qu.: 0.0000  
 Max.   :7.14000   Max.   :14.2800   Max.   :3.5700     Max.   :20.0000  
  word_freq_re     word_freq_edu     word_freq_table    word_freq_conference
 Min.   : 0.0000   Min.   : 0.0000   Min.   :0.000000   Min.   : 0.00000    
 1st Qu.: 0.0000   1st Qu.: 0.0000   1st Qu.:0.000000   1st Qu.: 0.00000    
 Median : 0.0000   Median : 0.0000   Median :0.000000   Median : 0.00000    
 Mean   : 0.3012   Mean   : 0.1798   Mean   :0.005444   Mean   : 0.03187    
 3rd Qu.: 0.1100   3rd Qu.: 0.0000   3rd Qu.:0.000000   3rd Qu.: 0.00000    
 Max.   :21.4200   Max.   :22.0500   Max.   :2.170000   Max.   :10.00000    
 char_freq_.3B     char_freq_.28   char_freq_.5B     char_freq_.21    
 Min.   :0.00000   Min.   :0.000   Min.   :0.00000   Min.   : 0.0000  
 1st Qu.:0.00000   1st Qu.:0.000   1st Qu.:0.00000   1st Qu.: 0.0000  
 Median :0.00000   Median :0.065   Median :0.00000   Median : 0.0000  
 Mean   :0.03857   Mean   :0.139   Mean   :0.01698   Mean   : 0.2691  
 3rd Qu.:0.00000   3rd Qu.:0.188   3rd Qu.:0.00000   3rd Qu.: 0.3150  
 Max.   :4.38500   Max.   :9.752   Max.   :4.08100   Max.   :32.4780  
 char_freq_.24     char_freq_.23      capital_run_length_average
 Min.   :0.00000   Min.   : 0.00000   Min.   :   1.000          
 1st Qu.:0.00000   1st Qu.: 0.00000   1st Qu.:   1.588          
 Median :0.00000   Median : 0.00000   Median :   2.276          
 Mean   :0.07581   Mean   : 0.04424   Mean   :   5.191          
 3rd Qu.:0.05200   3rd Qu.: 0.00000   3rd Qu.:   3.706          
 Max.   :6.00300   Max.   :19.82900   Max.   :1102.500          
 capital_run_length_longest capital_run_length_total     class      
 Min.   :   1.00            Min.   :    1.0          Min.   :0.000  
 1st Qu.:   6.00            1st Qu.:   35.0          1st Qu.:0.000  
 Median :  15.00            Median :   95.0          Median :0.000  
 Mean   :  52.17            Mean   :  283.3          Mean   :0.394  
 3rd Qu.:  43.00            3rd Qu.:  266.0          3rd Qu.:1.000  
 Max.   :9989.00            Max.   :15841.0          Max.   :1.000  
names<-names(spam)

Look at column headers

print(names)
 [1] "word_freq_make"             "word_freq_address"         
 [3] "word_freq_all"              "word_freq_3d"              
 [5] "word_freq_our"              "word_freq_over"            
 [7] "word_freq_remove"           "word_freq_internet"        
 [9] "word_freq_order"            "word_freq_mail"            
[11] "word_freq_receive"          "word_freq_will"            
[13] "word_freq_people"           "word_freq_report"          
[15] "word_freq_addresses"        "word_freq_free"            
[17] "word_freq_business"         "word_freq_email"           
[19] "word_freq_you"              "word_freq_credit"          
[21] "word_freq_your"             "word_freq_font"            
[23] "word_freq_000"              "word_freq_money"           
[25] "word_freq_hp"               "word_freq_hpl"             
[27] "word_freq_george"           "word_freq_650"             
[29] "word_freq_lab"              "word_freq_labs"            
[31] "word_freq_telnet"           "word_freq_857"             
[33] "word_freq_data"             "word_freq_415"             
[35] "word_freq_85"               "word_freq_technology"      
[37] "word_freq_1999"             "word_freq_parts"           
[39] "word_freq_pm"               "word_freq_direct"          
[41] "word_freq_cs"               "word_freq_meeting"         
[43] "word_freq_original"         "word_freq_project"         
[45] "word_freq_re"               "word_freq_edu"             
[47] "word_freq_table"            "word_freq_conference"      
[49] "char_freq_.3B"              "char_freq_.28"             
[51] "char_freq_.5B"              "char_freq_.21"             
[53] "char_freq_.24"              "char_freq_.23"             
[55] "capital_run_length_average" "capital_run_length_longest"
[57] "capital_run_length_total"   "class"                     
column_names<-colnames(spam)

Look at target, labeled 1 as spam, 0 as not spam

as.factor(spam$class)
   [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  [41] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  [81] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [121] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [161] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [201] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [241] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [281] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [321] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [361] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [401] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [441] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [481] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [521] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [561] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [601] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [641] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [681] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [721] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [761] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [801] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [841] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [881] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [921] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [961] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [ reached getOption("max.print") -- omitted 3601 entries ]
Levels: 0 1

Look at amount of zero’s, data seems to be super clean and ready to roll, 0’s are legitimate since not every email has dictionary in it, content wise

colSums(is.na(spam))
            word_freq_make          word_freq_address              word_freq_all 
                         0                          0                          0 
              word_freq_3d              word_freq_our             word_freq_over 
                         0                          0                          0 
          word_freq_remove         word_freq_internet            word_freq_order 
                         0                          0                          0 
            word_freq_mail          word_freq_receive             word_freq_will 
                         0                          0                          0 
          word_freq_people           word_freq_report        word_freq_addresses 
                         0                          0                          0 
            word_freq_free         word_freq_business            word_freq_email 
                         0                          0                          0 
             word_freq_you           word_freq_credit             word_freq_your 
                         0                          0                          0 
            word_freq_font              word_freq_000            word_freq_money 
                         0                          0                          0 
              word_freq_hp              word_freq_hpl           word_freq_george 
                         0                          0                          0 
             word_freq_650              word_freq_lab             word_freq_labs 
                         0                          0                          0 
          word_freq_telnet              word_freq_857             word_freq_data 
                         0                          0                          0 
             word_freq_415               word_freq_85       word_freq_technology 
                         0                          0                          0 
            word_freq_1999            word_freq_parts               word_freq_pm 
                         0                          0                          0 
          word_freq_direct               word_freq_cs          word_freq_meeting 
                         0                          0                          0 
        word_freq_original          word_freq_project               word_freq_re 
                         0                          0                          0 
             word_freq_edu            word_freq_table       word_freq_conference 
                         0                          0                          0 
             char_freq_.3B              char_freq_.28              char_freq_.5B 
                         0                          0                          0 
             char_freq_.21              char_freq_.24              char_freq_.23 
                         0                          0                          0 
capital_run_length_average capital_run_length_longest   capital_run_length_total 
                         0                          0                          0 
                     class 
                         0 
for (i in names(spam)){
  print(c('Percentage of zeros in ',i,sum(spam[,i]==0)/nrow(spam)))}
[1] "Percentage of zeros in " "word_freq_make"          "0.771136709410998"      
[1] "Percentage of zeros in " "word_freq_address"       "0.80482503803521"       
[1] "Percentage of zeros in " "word_freq_all"           "0.589654422951532"      
[1] "Percentage of zeros in " "word_freq_3d"            "0.989784829384916"      
[1] "Percentage of zeros in " "word_freq_our"           "0.620082590741143"      
[1] "Percentage of zeros in " "word_freq_over"          "0.782873288415562"      
[1] "Percentage of zeros in " "word_freq_remove"        "0.824603347098457"      
[1] "Percentage of zeros in " "word_freq_internet"      "0.820908498152575"      
[1] "Percentage of zeros in " "word_freq_order"         "0.83199304499022"       
[1] "Percentage of zeros in " "word_freq_mail"          "0.717018039556618"      
[1] "Percentage of zeros in " "word_freq_receive"       "0.845903064551185"      
[1] "Percentage of zeros in " "word_freq_will"          "0.494675070636818"      
[1] "Percentage of zeros in " "word_freq_people"        "0.814822864594653"      
[1] "Percentage of zeros in " "word_freq_report"        "0.922408172136492"      
[1] "Percentage of zeros in " "word_freq_addresses"     "0.926972397304934"      
[1] "Percentage of zeros in " "word_freq_free"          "0.730276026950663"      
[1] "Percentage of zeros in " "word_freq_business"      "0.790697674418605"      
[1] "Percentage of zeros in " "word_freq_email"         "0.774396870245599"      
[1] "Percentage of zeros in " "word_freq_you"           "0.298630732449468"      
[1] "Percentage of zeros in " "word_freq_credit"        "0.907846120408607"      
[1] "Percentage of zeros in " "word_freq_your"          "0.47337535318409"       
[1] "Percentage of zeros in " "word_freq_font"          "0.974570745490111"      
[1] "Percentage of zeros in " "word_freq_000"           "0.852423386220387"      
[1] "Percentage of zeros in " "word_freq_money"         "0.840252119104542"      
[1] "Percentage of zeros in " "word_freq_hp"            "0.763094979352315"      
[1] "Percentage of zeros in " "word_freq_hpl"           "0.823733970875897"      
[1] "Percentage of zeros in " "word_freq_george"        "0.830471636600739"      
[1] "Percentage of zeros in " "word_freq_650"           "0.899369702238644"      
[1] "Percentage of zeros in " "word_freq_lab"           "0.919148011301891"      
[1] "Percentage of zeros in " "word_freq_labs"          "0.898065637904803"      
[1] "Percentage of zeros in " "word_freq_telnet"        "0.936318191697457"      
[1] "Percentage of zeros in " "word_freq_857"           "0.955444468593784"      
[1] "Percentage of zeros in " "word_freq_data"          "0.911975657465768"      
[1] "Percentage of zeros in " "word_freq_415"           "0.953271028037383"      
[1] "Percentage of zeros in " "word_freq_85"            "0.894588133014562"      
[1] "Percentage of zeros in " "word_freq_technology"    "0.869810910671593"      
[1] "Percentage of zeros in " "word_freq_1999"          "0.819821777874375"      
[1] "Percentage of zeros in " "word_freq_parts"         "0.981960443381873"      
[1] "Percentage of zeros in " "word_freq_pm"            "0.91653988263421"       
[1] "Percentage of zeros in " "word_freq_direct"        "0.901543142795045"      
[1] "Percentage of zeros in " "word_freq_cs"            "0.967833079765268"      
[1] "Percentage of zeros in " "word_freq_meeting"       "0.925885677026733"      
[1] "Percentage of zeros in " "word_freq_original"      "0.918495979134971"      
[1] "Percentage of zeros in " "word_freq_project"       "0.928928493805694"      
[1] "Percentage of zeros in " "word_freq_re"            "0.715061943055857"      
[1] "Percentage of zeros in " "word_freq_edu"           "0.88763312323408"       
[1] "Percentage of zeros in " "word_freq_table"         "0.986307324494675"      
[1] "Percentage of zeros in " "word_freq_conference"    "0.955879156705064"      
[1] "Percentage of zeros in " "char_freq_.3B"           "0.828298196044338"      
[1] "Percentage of zeros in " "char_freq_.28"           "0.409910888937188"      
[1] "Percentage of zeros in " "char_freq_.5B"           "0.885024994566399"      
[1] "Percentage of zeros in " "char_freq_.21"           "0.509237122364703"      
[1] "Percentage of zeros in " "char_freq_.24"           "0.695718322103891"      
[1] "Percentage of zeros in " "char_freq_.23"           "0.836991958269941"      
[1] "Percentage of zeros in "    "capital_run_length_average"
[3] "0"                         
[1] "Percentage of zeros in "    "capital_run_length_longest"
[3] "0"                         
[1] "Percentage of zeros in "  "capital_run_length_total" "0"                       
[1] "Percentage of zeros in " "class"                   "0.605955227124538"      

A little EDA

Look at skewness

for (i in names(spam)){
  print(c('Skewness in ',i,skewness(spam[,i])))}
[1] "Skewness in "     "word_freq_make"   "5.67193900067991"
[1] "Skewness in "      "word_freq_address" "10.0802349003634" 
[1] "Skewness in "     "word_freq_all"    "3.00728668476344"
[1] "Skewness in "     "word_freq_3d"     "26.2106456152026"
[1] "Skewness in "     "word_freq_our"    "4.74403128369989"
[1] "Skewness in "     "word_freq_over"   "5.95306917430583"
[1] "Skewness in "     "word_freq_remove" "6.76116973235819"
[1] "Skewness in "       "word_freq_internet" "9.7185075353426"   
[1] "Skewness in "     "word_freq_order"  "5.22265988103807"
[1] "Skewness in "     "word_freq_mail"   "8.48227599748207"
[1] "Skewness in "      "word_freq_receive" "5.50665781347663" 
[1] "Skewness in "     "word_freq_will"   "2.86548424803136"
[1] "Skewness in "     "word_freq_people" "6.95101364285517"
[1] "Skewness in "     "word_freq_report" "11.7469821788241"
[1] "Skewness in "        "word_freq_addresses" "6.96649613902047"   
[1] "Skewness in "     "word_freq_free"   "10.7565768368784"
[1] "Skewness in "       "word_freq_business" "5.68493345831199"  
[1] "Skewness in "     "word_freq_email"  "5.41022429253872"
[1] "Skewness in "     "word_freq_you"    "1.59063659626038"
[1] "Skewness in "     "word_freq_credit" "14.5930666681311"
[1] "Skewness in "     "word_freq_your"   "2.43393936389113"
[1] "Skewness in "    "word_freq_font"  "9.9689373609874"
[1] "Skewness in "     "word_freq_000"    "5.71005047239415"
[1] "Skewness in "     "word_freq_money"  "14.6774530311175"
[1] "Skewness in "     "word_freq_hp"     "5.71311641715765"
[1] "Skewness in "     "word_freq_hpl"    "6.34587179123107"
[1] "Skewness in "     "word_freq_george" "5.74074824213199"
[1] "Skewness in "   "word_freq_650"  "6.602226884938"
[1] "Skewness in "     "word_freq_lab"    "11.3628189767488"
[1] "Skewness in "     "word_freq_labs"   "6.63168895636077"
[1] "Skewness in "     "word_freq_telnet" "12.6608216746697"
[1] "Skewness in "     "word_freq_857"    "10.5423067580283"
[1] "Skewness in "     "word_freq_data"   "13.1814567423014"
[1] "Skewness in "     "word_freq_415"    "10.4683520282183"
[1] "Skewness in "     "word_freq_85"     "15.2208819232757"
[1] "Skewness in "         "word_freq_technology" "7.66845872961491"    
[1] "Skewness in "     "word_freq_1999"   "5.32002109393731"
[1] "Skewness in "     "word_freq_parts"  "28.2447897111829"
[1] "Skewness in "     "word_freq_pm"     "12.0490516437972"
[1] "Skewness in "     "word_freq_direct" "9.14106611591679"
[1] "Skewness in "     "word_freq_cs"     "12.5796938412588"
[1] "Skewness in "      "word_freq_meeting" "9.44959035070889" 
[1] "Skewness in "       "word_freq_original" "7.62425421979753"  
[1] "Skewness in "      "word_freq_project" "18.7592776368088" 
[1] "Skewness in "     "word_freq_re"     "9.14013068435113"
[1] "Skewness in "     "word_freq_edu"    "10.1160633745584"
[1] "Skewness in "     "word_freq_table"  "19.8547388684828"
[1] "Skewness in "         "word_freq_conference" "19.707589277451"     
[1] "Skewness in "     "char_freq_.3B"    "13.6996841069832"
[1] "Skewness in "    "char_freq_.28"   "13.574899154289"
[1] "Skewness in "     "char_freq_.5B"    "21.0697996565398"
[1] "Skewness in "     "char_freq_.21"    "18.6458405095097"
[1] "Skewness in "     "char_freq_.24"    "11.1558633748888"
[1] "Skewness in "     "char_freq_.23"    "31.0418137486014"
[1] "Skewness in "               "capital_run_length_average"
[3] "23.746431702609"           
[1] "Skewness in "               "capital_run_length_longest"
[3] "30.7449357168226"          
[1] "Skewness in "             "capital_run_length_total" "8.70417212836709"        
[1] "Skewness in "      "class"             "0.433528573327334"
for (i in names(spam)){
  hist(spam[,i],main=i,breaks=50)}

A little more EDA

Look at boxplots

for (i in names(spam)){
  boxplot(spam[,i],main=i)}

A even a little EDA

Look at correlations

M <- cor(spam)
library(corrplot)
corrplot(M,method="color",order="FPC")

Data Preparation

Convert the class factor to an integer class starting at 0. This is picky, but it’s a requirement for XGBoost

class<-spam$class
label<-as.integer(spam$class)
spam$class<-NULL

Split the data for training and testing (70/20/10 train/test/holdout split)

n<-nrow(spam)                                
set.seed(123)
train_index<-sample(n,floor(0.70*n))         
train_data<-as.matrix(spam[train_index,])
train_label<-label[train_index]

testholdout_data<-spam[-train_index,]       
testholdout_label<-label[-train_index]
nth<-nrow(testholdout_data)
th_index<-sample(nth,floor(0.67*nth))        
test_data<-as.matrix(testholdout_data[th_index,])
test_label<-testholdout_label[th_index]
holdout_data<-as.matrix(testholdout_data[-th_index,])
holdout_label<-testholdout_label[-th_index]

Transform the two data sets into xgb.Matrix

xgb_train<-xgb.DMatrix(data=train_data,label=train_label)
xgb_test<-xgb.DMatrix(data=test_data,label=test_label)

Get the number of negative & positive cases in our data

negative_cases <- sum(train_label==0)
postive_cases <- sum(train_label==1)

Modeling

XGBoost

Chosen because I am trying to use a different model for every project

First pass

params<-list(booster="gbtree",                       # default
             objective="binary:logistic",            # the objective function
             eta=0.3,                                
             gamma=0,
             max_depth=6,                            # the maximum depth of each decision tree
             min_child_weight=1,
#             scale_pos_weight = negative_cases/postive_cases,   # NOT DEFAULT control for imbalanced classes
             subsample=1,
             colsample_bytree=1)
set.seed(123)
xgbcv<-xgb.cv(params=params,
              data=xgb_train,
              nrounds=100,                        
              nfold=5,
 #             metrics = list("rmse","auc"),
              showsd=T,
              stratified=T,
              print_every_n=10,
              early_stopping_rounds=10,            
              maximize=F)
[18:58:53] WARNING: amalgamation/../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[18:58:53] WARNING: amalgamation/../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[18:58:53] WARNING: amalgamation/../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[18:58:53] WARNING: amalgamation/../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[18:58:53] WARNING: amalgamation/../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[1] train-logloss:0.497973+0.001627 test-logloss:0.506317+0.003253 
Multiple eval metrics are present. Will use test_logloss for early stopping.
Will train until test_logloss hasn't improved in 10 rounds.

[11]    train-logloss:0.118546+0.004718 test-logloss:0.171150+0.022390 
[21]    train-logloss:0.075503+0.004618 test-logloss:0.146909+0.020544 
[31]    train-logloss:0.058049+0.004332 test-logloss:0.140582+0.021747 
[41]    train-logloss:0.045287+0.003136 test-logloss:0.139221+0.023500 
[51]    train-logloss:0.036392+0.002715 test-logloss:0.139679+0.026465 
Stopping. Best iteration:
[42]    train-logloss:0.044432+0.002995 test-logloss:0.139057+0.023487

Review model

xgbcv
##### xgb.cv 5-folds
Best iteration:
min(xgbcv$evaluation_log$test_logloss_mean)
[1] 0.1390574

Train the XGBoost classifer

set.seed(123)
xgb1<-xgb.train(params=params,
                data=xgb_train,                    
                nrounds=42,
                watchlist=list(val=xgb_test,train=xgb_train),
                print_every_n=10,
                early_stopping_rounds=10,
                maximize=F,
                eval_metric="error")                  # 'logloss'
[1] val-error:0.084324  train-error:0.071429 
Multiple eval metrics are present. Will use train_error for early stopping.
Will train until train_error hasn't improved in 10 rounds.

[11]    val-error:0.058378  train-error:0.031056 
[21]    val-error:0.052973  train-error:0.024845 
[31]    val-error:0.050811  train-error:0.017702 
[41]    val-error:0.047568  train-error:0.013975 
[42]    val-error:0.047568  train-error:0.012422 

Predict outcomes with the test data

xgb1_pred<-predict(xgb1,test_data)
my_roc1<-roc(test_label,xgb1_pred)
Setting levels: control = 0, case = 1
Setting direction: controls < cases
plot(my_roc1,print.thres="best",print.thres.best.method="youden",
     print.thres.best.weights=c(50,0.2))

coords(my_roc1,"best",ret=c("threshold","specificity","sensitivity","accuracy",
                           "precision","recall"),transpose=FALSE)
importance_matrix1<-xgb.importance(model=xgb1)
print(importance_matrix1)
xgb.plot.importance(importance_matrix=importance_matrix1)

xgb.dump(xgb1,with_stats=TRUE)
   [1] "booster[0]"                                                                      
   [2] "0:[f52<0.0555000007] yes=1,no=2,missing=1,gain=1032.54187,cover=805"             
   [3] "1:[f6<0.0549999997] yes=3,no=4,missing=3,gain=452.154358,cover=607.75"           
   [4] "3:[f51<0.459500015] yes=7,no=8,missing=7,gain=236.422852,cover=549.75"           
   [5] "7:[f15<0.199999988] yes=15,no=16,missing=15,gain=65.284668,cover=492.5"          
   [6] "15:[f23<0.00999999978] yes=23,no=24,missing=23,gain=60.5469971,cover=450.25"     
   [7] "23:[f21<0.135000005] yes=35,no=36,missing=35,gain=19.4257812,cover=436.25"       
   [8] "35:leaf=-0.535191655,cover=429.5"                                                
   [9] "36:leaf=-0.0193548389,cover=6.75"                                                
  [10] "24:[f45<0.0799999982] yes=37,no=38,missing=37,gain=13.4761896,cover=14"          
  [11] "37:leaf=0.24000001,cover=11.5"                                                   
  [12] "38:leaf=-0.428571463,cover=2.5"                                                  
  [13] "16:[f4<1.12] yes=25,no=26,missing=25,gain=21.15201,cover=42.25"                  
  [14] "25:[f51<0.105999999] yes=39,no=40,missing=39,gain=12.4953976,cover=34.25"        
  [15] "39:leaf=-0.349450588,cover=21.75"                                                
  [16] "40:leaf=0.0222222228,cover=12.5"                                                 
  [17] "26:[f20<0.449999988] yes=41,no=42,missing=41,gain=8.73333359,cover=8"            
  [18] "41:leaf=-0.24000001,cover=1.5"                                                   
  [19] "42:leaf=0.440000027,cover=6.5"                                                   
  [20] "8:[f56<58.5] yes=17,no=18,missing=17,gain=68.9557343,cover=57.25"                
  [21] "17:[f54<2.65399981] yes=27,no=28,missing=27,gain=20.1228333,cover=27.25"         
  [22] "27:[f51<1.28299999] yes=43,no=44,missing=43,gain=10.004631,cover=22"             
  [23] "43:leaf=-0.420895547,cover=15.75"                                                
  [24] "44:leaf=0.0206896551,cover=6.25"                                                 
  [25] "28:[f55<13] yes=45,no=46,missing=45,gain=1.28761864,cover=5.25"                  
  [26] "45:leaf=0.371428609,cover=4.25"                                                  
  [27] "46:leaf=-0,cover=1"                                                              
  [28] "18:[f24<0.224999994] yes=29,no=30,missing=29,gain=9.27107239,cover=30"           
  [29] "29:[f51<3.80949998] yes=47,no=48,missing=47,gain=2.98165894,cover=28.75"         
  [30] "47:leaf=0.526956558,cover=27.75"                                                 
  [31] "48:leaf=-0,cover=1"                                                              
  [32] "30:leaf=-0.200000018,cover=1.25"                                                 
  [33] "4:[f26<0.140000001] yes=9,no=10,missing=9,gain=33.6090393,cover=58"              
  [34] "9:[f24<0.300000012] yes=19,no=20,missing=19,gain=5.72929382,cover=55.25"         
  [35] "19:[f45<0.115000002] yes=31,no=32,missing=31,gain=5.99990845,cover=54"           
  [36] "31:[f9<1.75] yes=49,no=50,missing=49,gain=1.83082581,cover=52.75"                
  [37] "49:leaf=0.559808612,cover=51.25"                                                 
  [38] "50:leaf=0.120000005,cover=1.5"                                                   
  [39] "32:leaf=-0.0666666701,cover=1.25"                                                
  [40] "20:leaf=-0.0666666701,cover=1.25"                                                
  [41] "10:leaf=-0.440000027,cover=2.75"                                                 
  [42] "2:[f24<0.399999976] yes=5,no=6,missing=5,gain=123.17572,cover=197.25"            
  [43] "5:[f45<0.49000001] yes=11,no=12,missing=11,gain=25.8093872,cover=185.25"         
  [44] "11:[f41<0.189999998] yes=21,no=22,missing=21,gain=20.435791,cover=183.25"        
  [45] "21:[f26<0.210000008] yes=33,no=34,missing=33,gain=14.0670166,cover=181.25"       
  [46] "33:[f55<5.5] yes=51,no=52,missing=51,gain=6.9677124,cover=179.75"                
  [47] "51:leaf=-0,cover=2"                                                              
  [48] "52:leaf=0.563076973,cover=177.75"                                                
  [49] "34:leaf=-0.24000001,cover=1.5"                                                   
  [50] "22:leaf=-0.300000012,cover=2"                                                    
  [51] "12:leaf=-0.400000036,cover=2"                                                    
  [52] "6:[f17<0.275000006] yes=13,no=14,missing=13,gain=14.3489761,cover=12"            
  [53] "13:leaf=-0.548936188,cover=10.75"                                                
  [54] "14:leaf=0.333333373,cover=1.25"                                                  
  [55] "booster[1]"                                                                      
  [56] "0:[f51<0.0785000026] yes=1,no=2,missing=1,gain=586.995667,cover=753.449585"      
  [57] "1:[f6<0.0199999996] yes=3,no=4,missing=3,gain=117.281952,cover=439.121918"       
  [58] "3:[f52<0.164000005] yes=7,no=8,missing=7,gain=58.6425781,cover=409.310303"       
  [59] "7:[f15<0.105000004] yes=15,no=16,missing=15,gain=24.293396,cover=394.83606"      
  [60] "15:[f23<0.00999999978] yes=29,no=30,missing=29,gain=11.4551392,cover=361.05835"  
  [61] "29:[f54<9.37700081] yes=49,no=50,missing=49,gain=5.21472168,cover=351.143005"    
  [62] "49:leaf=-0.421427369,cover=346.66806"                                            
  [63] "50:leaf=-0.0760556608,cover=4.47494745"                                          
  [64] "30:[f49<0.127999991] yes=51,no=52,missing=51,gain=9.65857983,cover=9.9153471"    
  [65] "51:leaf=0.115596868,cover=6.99521017"                                            
  [66] "52:leaf=-0.461250991,cover=2.92013669"                                           
  [67] "16:[f4<1.08999991] yes=31,no=32,missing=31,gain=15.7878151,cover=33.7776871"     
  [68] "31:[f24<0.0649999976] yes=53,no=54,missing=53,gain=6.51610565,cover=27.809351"   
  [69] "53:leaf=-0.127097696,cover=19.7167416"                                           
  [70] "54:leaf=-0.444941849,cover=8.09260845"                                           
  [71] "32:[f20<0.675000012] yes=55,no=56,missing=55,gain=5.45510101,cover=5.96833467"   
  [72] "55:leaf=-0.184720382,cover=1.22401714"                                           
  [73] "56:leaf=0.404648811,cover=4.74431753"                                            
  [74] "8:[f49<0.291000009] yes=17,no=18,missing=17,gain=5.74369907,cover=14.4742575"    
  [75] "17:[f20<0.344999999] yes=33,no=34,missing=33,gain=3.37833309,cover=11.9062004"   
  [76] "33:[f54<3.17449999] yes=57,no=58,missing=57,gain=1.99806023,cover=4.50824881"    
  [77] "57:leaf=-0.0983964205,cover=2.41232681"                                          
  [78] "58:leaf=0.238610685,cover=2.09592223"                                            
  [79] "34:leaf=0.414770663,cover=7.3979516"                                             
  [80] "18:[f52<0.418500006] yes=35,no=36,missing=35,gain=0.973577857,cover=2.56805634"  
  [81] "35:leaf=-0.25842607,cover=1.40216386"                                            
  [82] "36:leaf=0.0444736555,cover=1.16589248"                                           
  [83] "4:[f26<0.0799999982] yes=9,no=10,missing=9,gain=18.5142155,cover=29.8116283"     
  [84] "9:[f24<0.150000006] yes=19,no=20,missing=19,gain=4.85281754,cover=26.9512081"    
  [85] "19:[f6<1.70499992] yes=37,no=38,missing=37,gain=2.89380264,cover=24.7824516"     
  [86] "37:[f55<9.5] yes=59,no=60,missing=59,gain=3.37735367,cover=22.9144287"           
  [87] "59:leaf=0.00158719451,cover=1.86885166"                                          
  [88] "60:leaf=0.422479719,cover=21.0455761"                                            
  [89] "38:leaf=0.00127137615,cover=1.86802447"                                          
  [90] "20:leaf=-0.0753581226,cover=2.16875601"                                          
  [91] "10:leaf=-0.388159364,cover=2.86042023"                                           
  [92] "2:[f55<18.5] yes=5,no=6,missing=5,gain=167.783585,cover=314.327667"              
  [93] "5:[f15<0.295000017] yes=11,no=12,missing=11,gain=61.4741745,cover=120.981651"    
  [94] "11:[f52<0.0964999944] yes=21,no=22,missing=21,gain=32.2640343,cover=89.6300507"  
  [95] "21:[f6<0.0700000003] yes=39,no=40,missing=39,gain=23.6711578,cover=78.6855087"   
  [96] "39:[f18<3.09499979] yes=61,no=62,missing=61,gain=17.210083,cover=72.5365829"     
  [97] "61:leaf=-0.395093113,cover=51.8597794"                                           
  [98] "62:leaf=-0.0684513748,cover=20.6768036"                                          
  [99] "40:[f56<140.5] yes=63,no=64,missing=63,gain=2.86864614,cover=6.14892626"         
 [100] "63:leaf=0.363841712,cover=4.94841576"                                            
 [101] "64:leaf=-0.0860577375,cover=1.20051038"                                          
 [102] "22:[f54<1.7385] yes=41,no=42,missing=41,gain=4.40785313,cover=10.944541"         
 [103] "41:leaf=-0.0988789797,cover=1.89926744"                                          
 [104] "42:[f11<0.840000033] yes=65,no=66,missing=65,gain=0.121609688,cover=9.04527378"  
 [105] "65:leaf=0.387799919,cover=7.17964983"                                            
 [106] "66:leaf=0.143488899,cover=1.86562407"                                            
 [107] "12:[f26<0.425000012] yes=23,no=24,missing=23,gain=12.188467,cover=31.3516026"    
 [108] "23:[f55<6.5] yes=43,no=44,missing=43,gain=4.41737366,cover=29.8634777"           
 [109] "43:[f56<54.5] yes=67,no=68,missing=67,gain=3.36038685,cover=5.81191778"          
 [110] "67:leaf=-0.0785029978,cover=3.91306901"                                          
 [111] "68:leaf=0.33301872,cover=1.89884889"                                             
 [112] "44:[f51<0.119000003] yes=69,no=70,missing=69,gain=0.853233337,cover=24.0515594"  
 [113] "69:leaf=0.101548865,cover=1.64883316"                                            
 [114] "70:leaf=0.40932712,cover=22.4027271"                                             
 [115] "24:leaf=-0.378120273,cover=1.48812568"                                           
 [116] "6:[f24<0.389999986] yes=13,no=14,missing=13,gain=40.0128174,cover=193.346024"    
 [117] "13:[f45<0.140000001] yes=25,no=26,missing=25,gain=15.8141479,cover=186.028503"   
 [118] "25:[f26<0.569999993] yes=45,no=46,missing=45,gain=9.95718384,cover=182.003387"   
 [119] "45:[f36<0.199999988] yes=71,no=72,missing=71,gain=7.45324707,cover=180.372452"   
 [120] "71:leaf=0.449986309,cover=169.621643"                                            
 [121] "72:leaf=0.170551509,cover=10.750823"                                             
 [122] "46:leaf=-0.210337609,cover=1.63093328"                                           
 [123] "26:[f52<0.0199999996] yes=47,no=48,missing=47,gain=7.30005693,cover=4.02510929"  
 [124] "47:leaf=-0.392340511,cover=2.61945701"                                           
 [125] "48:leaf=0.290670395,cover=1.4056524"                                             
 [126] "14:[f9<0.120000005] yes=27,no=28,missing=27,gain=6.58013964,cover=7.31752682"    
 [127] "27:leaf=-0.412040442,cover=5.62634706"                                           
 [128] "28:leaf=0.174385846,cover=1.69117987"                                            
 [129] "booster[2]"                                                                      
 [130] "0:[f51<0.0785000026] yes=1,no=2,missing=1,gain=347.717041,cover=663.767151"      
 [131] "1:[f6<0.0199999996] yes=3,no=4,missing=3,gain=69.5987549,cover=384.809631"       
 [132] "3:[f52<0.164000005] yes=7,no=8,missing=7,gain=36.2735291,cover=358.285217"       
 [133] "7:[f15<0.105000004] yes=15,no=16,missing=15,gain=16.6748657,cover=345.004395"    
 [134] "15:[f22<0.114999995] yes=27,no=28,missing=27,gain=9.59564209,cover=313.30304"    
 [135] "27:[f54<8.37699986] yes=45,no=46,missing=45,gain=7.76104736,cover=306.09137"     
 [136] "45:leaf=-0.353589088,cover=300.346588"                                           
 [137] "46:leaf=-0.0013506012,cover=5.74476528"                                          
 [138] "28:[f5<0.0250000004] yes=47,no=48,missing=47,gain=9.7678566,cover=7.21169186"    
 [139] "47:leaf=-0.297207415,cover=3.74658585"                                           
 [140] "48:leaf=0.320930898,cover=3.46510625"                                            
 [141] "16:[f4<1.08999991] yes=29,no=30,missing=29,gain=9.3172493,cover=31.7013474"      
 [142] "29:[f44<0.00499999989] yes=49,no=50,missing=49,gain=6.16841507,cover=26.3267956" 
 [143] "49:leaf=-0.0573044382,cover=16.1318665"                                          
 [144] "50:leaf=-0.351599663,cover=10.1949291"                                           
 [145] "30:[f20<0.675000012] yes=51,no=52,missing=51,gain=3.8065269,cover=5.3745513"     
 [146] "51:leaf=-0.155984282,cover=1.20219588"                                           
 [147] "52:leaf=0.344260812,cover=4.17235518"                                            
 [148] "8:[f24<0.239999995] yes=17,no=18,missing=17,gain=4.61157894,cover=13.2808123"    
 [149] "17:[f54<1.68300009] yes=31,no=32,missing=31,gain=3.66770601,cover=12.1439104"    
 [150] "31:leaf=-0.162829369,cover=1.22264493"                                           
 [151] "32:[f49<0.291999996] yes=53,no=54,missing=53,gain=1.96172047,cover=10.9212656"   
 [152] "53:leaf=0.337027907,cover=9.26130295"                                            
 [153] "54:leaf=-0.00912707392,cover=1.65996277"                                         
 [154] "18:leaf=-0.257846504,cover=1.13690138"                                           
 [155] "4:[f26<0.0799999982] yes=9,no=10,missing=9,gain=11.9225912,cover=26.5244255"     
 [156] "9:[f48<0.0724999979] yes=19,no=20,missing=19,gain=3.40479088,cover=23.9334793"   
 [157] "19:[f24<0.150000006] yes=33,no=34,missing=33,gain=3.02401352,cover=22.6570549"   
 [158] "33:[f52<0.526000023] yes=55,no=56,missing=55,gain=2.44464493,cover=20.965271"    
 [159] "55:leaf=0.346505553,cover=19.9092999"                                            
 [160] "56:leaf=-0.0670550466,cover=1.05597198"                                          
 [161] "34:leaf=-0.06108585,cover=1.69178355"                                            
 [162] "20:leaf=-0.131299689,cover=1.27642381"                                           
 [163] "10:leaf=-0.328483611,cover=2.59094644"                                           
 [164] "2:[f52<0.00650000013] yes=5,no=6,missing=5,gain=113.063835,cover=278.95752"      
 [165] "5:[f54<2.75449991] yes=11,no=12,missing=11,gain=59.1300468,cover=146.453339"     
 [166] "11:[f6<0.0900000036] yes=21,no=22,missing=21,gain=29.6809502,cover=91.0014877"   
 [167] "21:[f51<0.807000041] yes=35,no=36,missing=35,gain=19.9298439,cover=80.2316055"   
 [168] "35:[f15<1.31500006] yes=57,no=58,missing=57,gain=14.5440254,cover=65.0512238"    
 [169] "57:leaf=-0.325599611,cover=61.2669868"                                           
 [170] "58:leaf=0.234102592,cover=3.78423262"                                            
 [171] "36:[f56<14.5] yes=59,no=60,missing=59,gain=7.6202445,cover=15.1803818"           
 [172] "59:leaf=-0.181108236,cover=5.34436321"                                           
 [173] "60:leaf=0.234999925,cover=9.83601952"                                            
 [174] "22:[f18<0.735000014] yes=37,no=38,missing=37,gain=1.78099918,cover=10.7698841"   
 [175] "37:leaf=0.0100570321,cover=1.76817203"                                           
 [176] "38:[f0<0.0500000007] yes=61,no=62,missing=61,gain=0.573526382,cover=9.0017128"   
 [177] "61:leaf=0.382601231,cover=7.13444662"                                            
 [178] "62:leaf=0.109364092,cover=1.86726582"                                            
 [179] "12:[f24<0.104999997] yes=23,no=24,missing=23,gain=11.8041763,cover=55.4518433"   
 [180] "23:[f45<0.349999994] yes=39,no=40,missing=39,gain=10.0466461,cover=51.3340149"   
 [181] "39:[f41<0.669999957] yes=63,no=64,missing=63,gain=6.58639145,cover=49.55233"     
 [182] "63:leaf=0.319452792,cover=48.2961922"                                            
 [183] "64:leaf=-0.242561311,cover=1.25613689"                                           
 [184] "40:leaf=-0.308321327,cover=1.78168571"                                           
 [185] "24:[f9<0.0399999991] yes=41,no=42,missing=41,gain=2.66851139,cover=4.11782885"   
 [186] "41:leaf=-0.336669952,cover=2.97884989"                                           
 [187] "42:leaf=0.111120552,cover=1.13897896"                                            
 [188] "6:[f24<1.47000003] yes=13,no=14,missing=13,gain=11.6284637,cover=132.504196"     
 [189] "13:[f41<0.189999998] yes=25,no=26,missing=25,gain=5.20454407,cover=130.90567"    
 [190] "25:[f45<0.400000006] yes=43,no=44,missing=43,gain=1.86880493,cover=129.462997"   
 [191] "43:[f25<0.25] yes=65,no=66,missing=65,gain=1.36662292,cover=128.349564"          
 [192] "65:leaf=0.397476047,cover=127.249908"                                            
 [193] "66:leaf=0.0309593324,cover=1.09964728"                                           
 [194] "44:leaf=0.00224368367,cover=1.11343408"                                          
 [195] "26:leaf=-0.115344249,cover=1.44267893"                                           
 [196] "14:leaf=-0.297277927,cover=1.59852087"                                           
 [197] "booster[3]"                                                                      
 [198] "0:[f51<0.0785000026] yes=1,no=2,missing=1,gain=214.292755,cover=569.169922"      
 [199] "1:[f6<0.0199999996] yes=3,no=4,missing=3,gain=42.3616486,cover=329.164276"       
 [200] "3:[f52<0.0874999985] yes=7,no=8,missing=7,gain=22.6076813,cover=305.975494"      
 [201] "7:[f26<0.00499999989] yes=15,no=16,missing=15,gain=13.1420593,cover=287.281128"  
 [202] "15:[f24<0.0199999996] yes=27,no=28,missing=27,gain=15.8955383,cover=210.440582"  
 [203] "27:[f55<9.5] yes=41,no=42,missing=41,gain=33.7884712,cover=143.350784"           
 [204] "41:leaf=-0.296826243,cover=83.8248901"                                           
 [205] "42:leaf=-0.00194381899,cover=59.5259018"                                         
 [206] "28:[f10<0.370000005] yes=43,no=44,missing=43,gain=3.10641479,cover=67.0897903"   
 [207] "43:leaf=-0.362664968,cover=66.0281754"                                           
 [208] "44:leaf=0.0864094198,cover=1.06161046"                                           
 [209] "16:leaf=-0.382458061,cover=76.8405457"                                           
 [210] "8:[f24<0.239999995] yes=17,no=18,missing=17,gain=7.51485777,cover=18.6943607"    
 [211] "17:[f54<3.32500005] yes=29,no=30,missing=29,gain=5.37170696,cover=15.771348"     
 [212] "29:[f4<0.075000003] yes=45,no=46,missing=45,gain=6.66941309,cover=9.07005787"    
 [213] "45:leaf=-0.210498855,cover=5.28910208"                                           
 [214] "46:leaf=0.259623021,cover=3.78095603"                                            
 [215] "30:[f55<102.5] yes=47,no=48,missing=47,gain=0.260046005,cover=6.70129013"        
 [216] "47:leaf=0.358501554,cover=5.67066145"                                            
 [217] "48:leaf=0.0800087005,cover=1.03062832"                                           
 [218] "18:leaf=-0.315147281,cover=2.92301345"                                           
 [219] "4:[f26<0.0799999982] yes=9,no=10,missing=9,gain=7.88185978,cover=23.1887817"     
 [220] "9:[f32<0.199999988] yes=19,no=20,missing=19,gain=3.23519993,cover=20.9194946"    
 [221] "19:[f6<1.70499992] yes=31,no=32,missing=31,gain=2.26970387,cover=18.9524574"     
 [222] "31:[f0<0.514999986] yes=49,no=50,missing=49,gain=1.63389397,cover=17.2216949"    
 [223] "49:leaf=0.312675804,cover=16.0762959"                                            
 [224] "50:leaf=-0.0319540724,cover=1.14539766"                                          
 [225] "32:leaf=-0.0464014299,cover=1.73076272"                                          
 [226] "20:leaf=-0.103778757,cover=1.96703708"                                           
 [227] "10:leaf=-0.287403256,cover=2.26928759"                                           
 [228] "2:[f52<0.00650000013] yes=5,no=6,missing=5,gain=75.6320419,cover=240.005661"     
 [229] "5:[f4<0.254999995] yes=11,no=12,missing=11,gain=39.2307587,cover=131.286469"     
 [230] "11:[f15<0.784999967] yes=21,no=22,missing=21,gain=28.623539,cover=85.6243515"    
 [231] "21:[f51<0.49849999] yes=33,no=34,missing=33,gain=16.8417301,cover=73.1617889"    
 [232] "33:[f6<0.0949999988] yes=51,no=52,missing=51,gain=8.36207962,cover=46.4586792"   
 [233] "51:leaf=-0.338726342,cover=43.2456512"                                           
 [234] "52:leaf=0.129480585,cover=3.21302629"                                            
 [235] "34:[f56<22.5] yes=53,no=54,missing=53,gain=10.1339865,cover=26.7031136"          
 [236] "53:leaf=-0.198360413,cover=12.2624254"                                           
 [237] "54:leaf=0.159192279,cover=14.4406891"                                            
 [238] "22:[f54<1.61249995] yes=35,no=36,missing=35,gain=4.90404797,cover=12.4625578"    
 [239] "35:[f56<50] yes=55,no=56,missing=55,gain=2.21353579,cover=3.17560339"            
 [240] "55:leaf=-0.186344817,cover=2.14998603"                                           
 [241] "56:leaf=0.216664895,cover=1.02561712"                                            
 [242] "36:leaf=0.380647719,cover=9.28695488"                                            
 [243] "12:[f26<0.254999995] yes=23,no=24,missing=23,gain=17.5660076,cover=45.6621246"   
 [244] "23:[f41<0.479999989] yes=37,no=38,missing=37,gain=11.5462456,cover=41.5966797"   
 [245] "37:[f44<0.644999981] yes=57,no=58,missing=57,gain=6.34112549,cover=39.3078995"   
 [246] "57:leaf=0.348971784,cover=36.2264214"                                            
 [247] "58:leaf=-0.0769368634,cover=3.08147764"                                          
 [248] "38:leaf=-0.290545374,cover=2.28877926"                                           
 [249] "24:leaf=-0.324250013,cover=4.06544495"                                           
 [250] "6:[f24<1.47000003] yes=13,no=14,missing=13,gain=8.42391968,cover=108.719193"     
 [251] "13:[f41<0.189999998] yes=25,no=26,missing=25,gain=3.92625427,cover=107.265007"   
 [252] "25:[f45<0.400000006] yes=39,no=40,missing=39,gain=1.48846436,cover=105.830376"   
 [253] "39:[f25<0.25] yes=59,no=60,missing=59,gain=1.10977173,cover=104.717384"          
 [254] "59:leaf=0.355515271,cover=103.621758"                                            
 [255] "60:leaf=0.0261539109,cover=1.095626"                                             
 [256] "40:leaf=0.00188951578,cover=1.11299157"                                          
 [257] "26:leaf=-0.0952680036,cover=1.43463123"                                          
 [258] "14:leaf=-0.259161472,cover=1.45418596"                                           
 [259] "booster[4]"                                                                      
 [260] "0:[f52<0.0185000002] yes=1,no=2,missing=1,gain=136.764374,cover=485.534088"      
 [261] "1:[f6<0.0399999991] yes=3,no=4,missing=3,gain=54.8624268,cover=354.654663"       
 [262] "3:[f51<0.534500003] yes=7,no=8,missing=7,gain=38.0993042,cover=324.756531"       
 [263] "7:[f26<0.00499999989] yes=15,no=16,missing=15,gain=15.9963837,cover=287.971008"  
 [264] "15:[f4<0.86500001] yes=27,no=28,missing=27,gain=20.3069,cover=222.004578"        
 [265] "27:[f54<2.30349994] yes=43,no=44,missing=43,gain=11.4795837,cover=202.25441"     
 [266] "43:leaf=-0.269867003,cover=127.980591"                                           
 [267] "44:leaf=-0.119179159,cover=74.2738113"                                           
 [268] "28:[f20<0.805000007] yes=45,no=46,missing=45,gain=13.3923988,cover=19.7501793"   
 [269] "45:leaf=-0.146717593,cover=9.6489439"                                            
 [270] "46:leaf=0.326025605,cover=10.1012344"                                            
 [271] "16:leaf=-0.35724467,cover=65.966423"                                             
 [272] "8:[f56<22.5] yes=17,no=18,missing=17,gain=14.4809036,cover=36.7855301"           
 [273] "17:[f51<1.74650002] yes=29,no=30,missing=29,gain=7.91161013,cover=12.0143747"    
 [274] "29:[f56<18.5] yes=47,no=48,missing=47,gain=0.911518097,cover=8.9987936"          
 [275] "47:leaf=-0.340687633,cover=7.39217901"                                           
 [276] "48:leaf=-0.0536869802,cover=1.60661471"                                          
 [277] "30:[f51<2.95949984] yes=49,no=50,missing=49,gain=0.535254717,cover=3.01558113"   
 [278] "49:leaf=0.0176849999,cover=1.14577186"                                           
 [279] "50:leaf=0.277139485,cover=1.86980915"                                            
 [280] "18:[f45<0.140000001] yes=31,no=32,missing=31,gain=6.39363098,cover=24.7711544"   
 [281] "31:[f44<1.245] yes=51,no=52,missing=51,gain=3.86320877,cover=23.5850143"         
 [282] "51:leaf=0.287455231,cover=22.548624"                                             
 [283] "52:leaf=-0.181834936,cover=1.03638887"                                           
 [284] "32:leaf=-0.296939671,cover=1.18614042"                                           
 [285] "4:[f24<0.230000004] yes=9,no=10,missing=9,gain=7.0106945,cover=29.898138"        
 [286] "9:[f51<0.0455000028] yes=19,no=20,missing=19,gain=2.31308556,cover=27.8416843"   
 [287] "19:[f6<0.894999981] yes=33,no=34,missing=33,gain=2.38335419,cover=6.66828442"    
 [288] "33:[f18<1.43000007] yes=53,no=54,missing=53,gain=2.69864964,cover=3.11622238"    
 [289] "53:leaf=-0.275870979,cover=1.69877052"                                           
 [290] "54:leaf=0.165578112,cover=1.41745186"                                            
 [291] "34:[f17<0.63499999] yes=55,no=56,missing=55,gain=0.129532814,cover=3.55206203"   
 [292] "55:leaf=0.272106171,cover=2.52027893"                                            
 [293] "56:leaf=0.0602293797,cover=1.0317831"                                            
 [294] "20:[f6<0.254999995] yes=35,no=36,missing=35,gain=0.87909317,cover=21.173399"     
 [295] "35:[f1<0.210000008] yes=57,no=58,missing=57,gain=1.91012931,cover=3.74068332"    
 [296] "57:leaf=0.257958919,cover=2.4062748"                                             
 [297] "58:leaf=-0.108740628,cover=1.33440852"                                           
 [298] "36:leaf=0.347378701,cover=17.4327164"                                            
 [299] "10:[f2<0.0599999987] yes=21,no=22,missing=21,gain=0.0133974552,cover=2.0564537"  
 [300] "21:leaf=-0.270590097,cover=1.03485596"                                           
 [301] "22:leaf=-0.0715219006,cover=1.02159762"                                          
 [302] "2:[f24<0.199999988] yes=5,no=6,missing=5,gain=51.0172348,cover=130.879425"       
 [303] "5:[f45<0.49000001] yes=11,no=12,missing=11,gain=10.9381332,cover=111.292732"     
 [304] "11:[f55<9.5] yes=23,no=24,missing=23,gain=8.23155212,cover=109.251076"           
 [305] "23:[f17<0.254999995] yes=37,no=38,missing=37,gain=5.48771715,cover=6.43299007"   
 [306] "37:[f44<0.159999996] yes=59,no=60,missing=59,gain=1.71530628,cover=4.12969112"   
 [307] "59:leaf=-0.00227741268,cover=1.99818659"                                         
 [308] "60:leaf=-0.359174699,cover=2.13150454"                                           
 [309] "38:leaf=0.275575966,cover=2.30329895"                                            
 [310] "24:[f49<0.652500033] yes=39,no=40,missing=39,gain=3.20432281,cover=102.818085"   
 [311] "39:[f45<0.185000002] yes=61,no=62,missing=61,gain=1.87688446,cover=101.210045"   
 [312] "61:leaf=0.327173501,cover=99.7350769"                                            
 [313] "62:leaf=-0.0082389079,cover=1.47496486"                                          
 [314] "40:leaf=-0.0678494573,cover=1.60803759"                                          
 [315] "12:leaf=-0.304128796,cover=2.04165697"                                           
 [316] "6:[f51<0.833500028] yes=13,no=14,missing=13,gain=5.71845245,cover=19.5866947"    
 [317] "13:[f13<0.340000004] yes=25,no=26,missing=25,gain=3.71430397,cover=18.0547237"   
 [318] "25:[f9<0.5] yes=41,no=42,missing=41,gain=1.38800812,cover=16.9576187"            
 [319] "41:[f16<0.694999993] yes=63,no=64,missing=63,gain=0.568202972,cover=14.9345369"  
 [320] "63:leaf=-0.364171684,cover=13.8471231"                                           
 [321] "64:leaf=-0.0640014261,cover=1.08741403"                                          
 [322] "42:[f36<0.245000005] yes=65,no=66,missing=65,gain=0.370436162,cover=2.02308106"  
 [323] "65:leaf=0.053496331,cover=1.02066422"                                            
 [324] "66:leaf=-0.134286836,cover=1.00241685"                                           
 [325] "26:leaf=0.149910137,cover=1.09710515"                                            
 [326] "14:leaf=0.221014619,cover=1.53197074"                                            
 [327] "booster[5]"                                                                      
 [328] "0:[f51<0.0795000046] yes=1,no=2,missing=1,gain=88.2819061,cover=414.7677"        
 [329] "1:[f24<0.0949999988] yes=3,no=4,missing=3,gain=23.4115601,cover=241.42569"       
 [330] "3:[f55<9.5] yes=7,no=8,missing=7,gain=41.4260559,cover=169.595337"               
 [331] "7:[f7<0.295000017] yes=15,no=16,missing=15,gain=11.1531143,cover=85.5722046"     
 [332] "15:[f17<1.875] yes=29,no=30,missing=29,gain=5.11936951,cover=82.6856155"         
 [333] "29:[f18<9.30500031] yes=51,no=52,missing=51,gain=2.2902298,cover=81.0636368"     
 [334] "51:leaf=-0.288352519,cover=79.9115601"                                           
 [335] "52:leaf=0.0802352652,cover=1.15207505"                                           
 [336] "30:leaf=0.175999224,cover=1.62198055"                                            
 [337] "16:[f18<0.720000029] yes=31,no=32,missing=31,gain=5.76569271,cover=2.88658977"   
 [338] "31:leaf=-0.128173783,cover=1.47473574"                                           
 [339] "32:leaf=0.5576635,cover=1.41185391"                                              
 [340] "8:[f45<0.0450000018] yes=17,no=18,missing=17,gain=25.997633,cover=84.0231323"    
 [341] "17:[f26<0.0350000001] yes=33,no=34,missing=33,gain=20.3240623,cover=61.4334526"  
 [342] "33:[f4<0.0549999997] yes=53,no=54,missing=53,gain=11.7715206,cover=54.9570312"   
 [343] "53:leaf=0.0892438591,cover=33.2750435"                                           
 [344] "54:leaf=0.373271376,cover=21.6819859"                                            
 [345] "34:leaf=-0.323674023,cover=6.47641993"                                           
 [346] "18:[f27<0.229999989] yes=35,no=36,missing=35,gain=28.1851006,cover=22.5896816"   
 [347] "35:[f13<0.0399999991] yes=55,no=56,missing=55,gain=0.742815018,cover=20.2170143" 
 [348] "55:leaf=-0.357319355,cover=19.1716919"                                           
 [349] "56:leaf=-0.0460176058,cover=1.04532218"                                          
 [350] "36:leaf=0.598303497,cover=2.37266779"                                            
 [351] "4:[f10<0.419999987] yes=9,no=10,missing=9,gain=4.82080078,cover=71.8303452"      
 [352] "9:[f56<2034.5] yes=19,no=20,missing=19,gain=3.10401917,cover=70.7224731"         
 [353] "19:[f1<0.495000005] yes=37,no=38,missing=37,gain=0.597427368,cover=69.6088715"   
 [354] "37:leaf=-0.332520425,cover=67.7974701"                                           
 [355] "38:leaf=-0.0894687772,cover=1.81140471"                                          
 [356] "20:leaf=0.102761403,cover=1.11359572"                                            
 [357] "10:leaf=0.188417524,cover=1.10787809"                                            
 [358] "2:[f20<0.414999992] yes=5,no=6,missing=5,gain=42.0314102,cover=173.341995"       
 [359] "5:[f54<3.74100018] yes=11,no=12,missing=11,gain=18.1069565,cover=62.799675"      
 [360] "11:[f7<0.50999999] yes=21,no=22,missing=21,gain=10.5610094,cover=48.0153732"     
 [361] "21:[f51<0.511000037] yes=39,no=40,missing=39,gain=6.62225533,cover=45.2226334"   
 [362] "39:[f15<1.33500004] yes=57,no=58,missing=57,gain=2.8802681,cover=27.6359577"     
 [363] "57:leaf=-0.318110406,cover=26.2960243"                                           
 [364] "58:leaf=0.0815281942,cover=1.33993328"                                           
 [365] "40:[f54<2.64050007] yes=59,no=60,missing=59,gain=3.17068124,cover=17.5866737"    
 [366] "59:leaf=-0.122323729,cover=14.0460901"                                           
 [367] "60:leaf=0.16533564,cover=3.54058361"                                             
 [368] "22:leaf=0.321195781,cover=2.79274035"                                            
 [369] "12:[f11<0.725000024] yes=23,no=24,missing=23,gain=3.51822948,cover=14.7843018"   
 [370] "23:[f53<0.0434999987] yes=41,no=42,missing=41,gain=2.21885777,cover=12.6113634"  
 [371] "41:[f9<1.125] yes=61,no=62,missing=61,gain=0.505699158,cover=10.3970757"         
 [372] "61:leaf=0.334518552,cover=9.19517517"                                            
 [373] "62:leaf=0.061931368,cover=1.20190048"                                            
 [374] "42:[f54<6.75500011] yes=63,no=64,missing=63,gain=2.35436606,cover=2.21428728"    
 [375] "63:leaf=-0.237252429,cover=1.07031786"                                           
 [376] "64:leaf=0.211391285,cover=1.14396942"                                            
 [377] "24:[f55<53.5] yes=43,no=44,missing=43,gain=1.08101165,cover=2.17293835"          
 [378] "43:leaf=-0.246404767,cover=1.08381534"                                           
 [379] "44:leaf=0.0738979727,cover=1.08912301"                                           
 [380] "6:[f56<69.5] yes=13,no=14,missing=13,gain=14.9265594,cover=110.542328"           
 [381] "13:[f16<0.185000002] yes=25,no=26,missing=25,gain=5.54903316,cover=19.794796"    
 [382] "25:[f15<0.774999976] yes=45,no=46,missing=45,gain=4.72299147,cover=17.1958199"   
 [383] "45:[f17<0.420000017] yes=65,no=66,missing=65,gain=3.08096218,cover=13.6061831"   
 [384] "65:leaf=-0.22662957,cover=10.8272886"                                            
 [385] "66:leaf=0.0974264741,cover=2.7788949"                                            
 [386] "46:[f9<0.234999999] yes=67,no=68,missing=67,gain=1.10140681,cover=3.58963704"    
 [387] "67:leaf=0.275191247,cover=2.52105021"                                            
 [388] "68:leaf=-0.0402985923,cover=1.06858671"                                          
 [389] "26:leaf=0.329338163,cover=2.59897518"                                            
 [390] "14:[f24<0.155000001] yes=27,no=28,missing=27,gain=10.0504227,cover=90.7475281"   
 [391] "27:[f45<0.204999998] yes=47,no=48,missing=47,gain=4.69523621,cover=86.2331848"   
 [392] "47:[f44<0.375] yes=69,no=70,missing=69,gain=2.14694977,cover=83.5677032"         
 [393] "69:leaf=0.331939965,cover=71.0247269"                                            
 [394] "70:leaf=0.172870651,cover=12.5429745"                                            
 [395] "48:[f23<0.135000005] yes=71,no=72,missing=71,gain=1.37565649,cover=2.66548252"   
 [396] "71:leaf=-0.20519188,cover=1.56690204"                                            
 [397] "72:leaf=0.12742576,cover=1.09858048"                                             
 [398] "28:[f49<0.0995000005] yes=49,no=50,missing=49,gain=2.55624533,cover=4.51434278"  
 [399] "49:leaf=0.110978596,cover=1.75940573"                                            
 [400] "50:leaf=-0.282182783,cover=2.7549367"                                            
 [401] "booster[6]"                                                                      
 [402] "0:[f52<0.0175000001] yes=1,no=2,missing=1,gain=57.2542191,cover=353.87323"       
 [403] "1:[f24<0.0299999993] yes=3,no=4,missing=3,gain=29.7881317,cover=264.597656"      
 [404] "3:[f55<10.5] yes=7,no=8,missing=7,gain=30.3302212,cover=205.52829"               
 [405] "7:[f16<0.350000024] yes=15,no=16,missing=15,gain=16.3392372,cover=100.908546"    
 [406] "15:[f10<0.355000019] yes=25,no=26,missing=25,gain=10.9281273,cover=96.862999"    
 [407] "25:[f6<0.894999981] yes=41,no=42,missing=41,gain=6.3153801,cover=94.8340454"     
 [408] "41:leaf=-0.227005929,cover=93.0843811"                                           
 [409] "42:leaf=0.252550274,cover=1.74965739"                                            
 [410] "26:leaf=0.37463659,cover=2.02895737"                                             
 [411] "16:[f18<1.39999998] yes=27,no=28,missing=27,gain=0.877241135,cover=4.04554701"   
 [412] "27:leaf=0.0573700927,cover=1.07984042"                                           
 [413] "28:leaf=0.427503139,cover=2.96570659"                                            
 [414] "8:[f36<0.194999993] yes=17,no=18,missing=17,gain=24.5057831,cover=104.619736"    
 [415] "17:[f45<0.0450000018] yes=29,no=30,missing=29,gain=14.3152723,cover=88.1739655"  
 [416] "29:[f11<1.92499995] yes=43,no=44,missing=43,gain=9.68733025,cover=74.4675064"    
 [417] "43:leaf=0.202593744,cover=68.5503922"                                            
 [418] "44:leaf=-0.175751448,cover=5.91711426"                                           
 [419] "30:[f27<0.119999997] yes=45,no=46,missing=45,gain=13.1309738,cover=13.7064667"   
 [420] "45:leaf=-0.286996275,cover=11.43013"                                             
 [421] "46:leaf=0.394486934,cover=2.27633691"                                            
 [422] "18:[f5<0.25999999] yes=31,no=32,missing=31,gain=4.20750427,cover=16.4457684"     
 [423] "31:[f54<4.90450001] yes=47,no=48,missing=47,gain=1.99563026,cover=15.2083368"    
 [424] "47:leaf=-0.34628281,cover=13.7720242"                                            
 [425] "48:leaf=0.0144406641,cover=1.43631184"                                           
 [426] "32:leaf=0.163781703,cover=1.23743236"                                            
 [427] "4:[f10<0.425000012] yes=9,no=10,missing=9,gain=5.39309692,cover=59.0693779"      
 [428] "9:[f15<0.720000029] yes=19,no=20,missing=19,gain=2.10302353,cover=57.7884483"    
 [429] "19:[f56<1921] yes=33,no=34,missing=33,gain=0.709747314,cover=56.6808739"         
 [430] "33:leaf=-0.324580252,cover=55.6572037"                                           
 [431] "34:leaf=-0.0343795009,cover=1.02366769"                                          
 [432] "20:leaf=0.0543748029,cover=1.10757434"                                           
 [433] "10:leaf=0.198634997,cover=1.28092957"                                            
 [434] "2:[f24<0.264999986] yes=5,no=6,missing=5,gain=22.405302,cover=89.2755585"        
 [435] "5:[f45<0.49000001] yes=11,no=12,missing=11,gain=5.52398682,cover=76.0112381"     
 [436] "11:[f41<0.189999998] yes=21,no=22,missing=21,gain=4.7574501,cover=74.4785995"    
 [437] "21:[f26<0.0500000007] yes=35,no=36,missing=35,gain=3.54431152,cover=72.6263123"  
 [438] "35:[f20<0.00999999978] yes=49,no=50,missing=49,gain=2.25080109,cover=70.9834747" 
 [439] "49:leaf=0.114417255,cover=9.99465179"                                            
 [440] "50:leaf=0.284638941,cover=60.9888268"                                            
 [441] "36:leaf=-0.124395378,cover=1.64283085"                                           
 [442] "22:leaf=-0.167952225,cover=1.85229087"                                           
 [443] "12:leaf=-0.233237267,cover=1.53264046"                                           
 [444] "6:[f51<0.833500028] yes=13,no=14,missing=13,gain=3.10369158,cover=13.2643147"    
 [445] "13:[f22<0.0450000018] yes=23,no=24,missing=23,gain=1.86696482,cover=12.1343861"  
 [446] "23:[f44<0.480000019] yes=37,no=38,missing=37,gain=0.171444893,cover=8.5934906"   
 [447] "37:leaf=-0.316979975,cover=7.59212828"                                           
 [448] "38:leaf=-0.0731857121,cover=1.00136268"                                          
 [449] "24:[f2<0.0250000004] yes=39,no=40,missing=39,gain=2.72871637,cover=3.54089475"   
 [450] "39:leaf=0.234009251,cover=1.18300354"                                            
 [451] "40:leaf=-0.197658524,cover=2.35789132"                                           
 [452] "14:leaf=0.181939662,cover=1.12992871"                                            
 [453] "booster[7]"                                                                      
 [454] "0:[f26<0.00499999989] yes=1,no=2,missing=1,gain=43.3461151,cover=306.708038"     
 [455] "1:[f4<0.0450000018] yes=3,no=4,missing=3,gain=32.7159996,cover=264.913666"       
 [456] "3:[f22<0.254999995] yes=7,no=8,missing=7,gain=17.6426601,cover=165.163681"       
 [457] "7:[f15<0.814999998] yes=11,no=12,missing=11,gain=13.256752,cover=155.345978"     
 [458] "11:[f23<0.405000001] yes=19,no=20,missing=19,gain=11.5676136,cover=141.709457"   
 [459] "19:[f44<0.394999981] yes=29,no=30,missing=29,gain=7.57562828,cover=134.063232"   
 [460] "29:leaf=-0.110394388,cover=109.562805"                                           
 [461] "30:leaf=-0.294580996,cover=24.5004292"                                           
 [462] "20:[f44<0.435000002] yes=31,no=32,missing=31,gain=4.10295439,cover=7.64622164"   
 [463] "31:leaf=0.298579365,cover=6.62503147"                                            
 [464] "32:leaf=-0.208337873,cover=1.02119005"                                           
 [465] "12:[f45<0.50999999] yes=21,no=22,missing=21,gain=3.82143307,cover=13.6365242"    
 [466] "21:[f17<0.954999983] yes=33,no=34,missing=33,gain=2.7998724,cover=12.457202"     
 [467] "33:leaf=0.280590177,cover=10.7228727"                                            
 [468] "34:leaf=-0.0871500075,cover=1.73432946"                                          
 [469] "22:leaf=-0.219149202,cover=1.179322"                                             
 [470] "8:[f44<0.0450000018] yes=13,no=14,missing=13,gain=1.48372173,cover=9.81770134"   
 [471] "13:leaf=0.336797714,cover=8.69988823"                                            
 [472] "14:leaf=-0.0152030867,cover=1.11781287"                                          
 [473] "4:[f24<0.0949999988] yes=9,no=10,missing=9,gain=20.5788116,cover=99.7499847"     
 [474] "9:[f41<0.464999974] yes=15,no=16,missing=15,gain=10.9892845,cover=83.49543"      
 [475] "15:[f45<0.140000001] yes=23,no=24,missing=23,gain=7.62929153,cover=80.2942657"   
 [476] "23:[f20<0.00999999978] yes=35,no=36,missing=35,gain=5.57199097,cover=73.1627197" 
 [477] "35:leaf=0.0576629862,cover=11.513649"                                            
 [478] "36:leaf=0.290555686,cover=61.6490746"                                            
 [479] "24:[f27<0.229999989] yes=37,no=38,missing=37,gain=6.9703064,cover=7.13154221"    
 [480] "37:leaf=-0.21502237,cover=5.66721153"                                            
 [481] "38:leaf=0.377057761,cover=1.46433043"                                            
 [482] "16:leaf=-0.281235307,cover=3.20116544"                                           
 [483] "10:[f54<2.77250004] yes=17,no=18,missing=17,gain=5.73563433,cover=16.2545567"    
 [484] "17:[f54<1.35000002] yes=25,no=26,missing=25,gain=0.979086876,cover=11.0901861"   
 [485] "25:leaf=-0.00836809166,cover=1.2086097"                                          
 [486] "26:leaf=-0.300114393,cover=9.88157654"                                           
 [487] "18:[f9<0.115000002] yes=27,no=28,missing=27,gain=4.18467999,cover=5.16437054"    
 [488] "27:leaf=-0.205980629,cover=1.84679806"                                           
 [489] "28:[f11<0.735000014] yes=39,no=40,missing=39,gain=0.174739838,cover=3.31757236"  
 [490] "39:leaf=0.316601247,cover=2.09378457"                                            
 [491] "40:leaf=0.0780379772,cover=1.22378778"                                           
 [492] "2:[f5<0.909999967] yes=5,no=6,missing=5,gain=0.749893188,cover=41.7943802"       
 [493] "5:leaf=-0.322382092,cover=40.772789"                                             
 [494] "6:leaf=-0.0297514629,cover=1.02159095"                                           
 [495] "booster[8]"                                                                      
 [496] "0:[f26<0.00499999989] yes=1,no=2,missing=1,gain=31.1022186,cover=270.563904"     
 [497] "1:[f24<0.114999995] yes=3,no=4,missing=3,gain=24.196312,cover=238.16745"         
 [498] "3:[f16<0.0649999976] yes=7,no=8,missing=7,gain=22.128231,cover=201.972809"       
 [499] "7:[f54<2.2954998] yes=11,no=12,missing=11,gain=18.1476326,cover=166.129288"      
 [500] "11:[f44<0.485000014] yes=17,no=18,missing=17,gain=10.5051184,cover=86.4226074"   
 [501] "17:[f7<0.314999998] yes=27,no=28,missing=27,gain=9.8603878,cover=70.5598373"     
 [502] "27:leaf=-0.0743602812,cover=65.2792206"                                          
 [503] "28:leaf=0.319306612,cover=5.28061581"                                            
 [504] "18:[f11<1.8499999] yes=29,no=30,missing=29,gain=0.319725037,cover=15.862771"     
 [505] "29:leaf=-0.317040145,cover=14.8386307"                                           
 [506] "30:leaf=-0.0620187633,cover=1.02414024"                                          
 [507] "12:[f45<0.49000001] yes=19,no=20,missing=19,gain=14.4325619,cover=79.7066879"    
 [508] "19:[f48<0.932500005] yes=31,no=32,missing=31,gain=10.0566311,cover=71.7712784"   
 [509] "31:leaf=0.170710787,cover=69.3634491"                                            
 [510] "32:leaf=-0.363244951,cover=2.40782785"                                           
 [511] "20:[f18<0.00499999989] yes=33,no=34,missing=33,gain=0.787613392,cover=7.93540812"
 [512] "33:leaf=-0.0466354489,cover=1.75518382"                                          
 [513] "34:leaf=-0.302724719,cover=6.18022442"                                           
 [514] "8:[f41<0.00999999978] yes=13,no=14,missing=13,gain=4.30820084,cover=35.8435173"  
 [515] "13:[f11<1.26999998] yes=21,no=22,missing=21,gain=2.0457077,cover=33.9746475"     
 [516] "21:[f56<56.5] yes=35,no=36,missing=35,gain=0.68812561,cover=29.1106758"          
 [517] "35:leaf=0.0929691866,cover=2.18016863"                                           
 [518] "36:leaf=0.32759732,cover=26.9305077"                                             
 [519] "22:[f18<2.09500003] yes=37,no=38,missing=37,gain=3.53364253,cover=4.8639698"     
 [520] "37:leaf=-0.191273302,cover=1.7996372"                                            
 [521] "38:leaf=0.250708193,cover=3.06433272"                                            
 [522] "14:leaf=-0.129565656,cover=1.86886978"                                           
 [523] "4:[f10<0.425000012] yes=9,no=10,missing=9,gain=4.7523632,cover=36.1946411"       
 [524] "9:[f56<907] yes=15,no=16,missing=15,gain=4.18074226,cover=34.647213"             
 [525] "15:[f15<0.610000014] yes=23,no=24,missing=23,gain=2.04537201,cover=31.6378593"   
 [526] "23:[f52<0.134499997] yes=39,no=40,missing=39,gain=1.88686562,cover=30.4840374"   
 [527] "39:leaf=-0.298568755,cover=29.4164391"                                           
 [528] "40:leaf=0.0595468432,cover=1.06759715"                                           
 [529] "24:leaf=0.0709220693,cover=1.15382385"                                           
 [530] "16:[f29<0.0250000004] yes=25,no=26,missing=25,gain=2.27756667,cover=3.00935102"  
 [531] "25:leaf=0.276134551,cover=1.39485168"                                            
 [532] "26:leaf=-0.133587956,cover=1.61449945"                                           
 [533] "10:leaf=0.207471207,cover=1.54743028"                                            
 [534] "2:[f5<0.420000017] yes=5,no=6,missing=5,gain=0.7942276,cover=32.3964691"         
 [535] "5:leaf=-0.31242615,cover=30.5620804"                                             
 [536] "6:leaf=-0.0649266541,cover=1.8343873"                                            
 [537] "booster[9]"                                                                      
 [538] "0:[f26<0.00499999989] yes=1,no=2,missing=1,gain=22.0823364,cover=240.94101"      
 [539] "1:[f22<0.25999999] yes=3,no=4,missing=3,gain=16.9999084,cover=215.743134"        
 [540] "3:[f36<0.0649999976] yes=7,no=8,missing=7,gain=14.1344986,cover=196.594727"      
 [541] "7:[f56<103.5] yes=11,no=12,missing=11,gain=13.5768642,cover=167.080521"          
 [542] "11:[f18<3.03999996] yes=17,no=18,missing=17,gain=10.1767101,cover=106.739014"    
 [543] "17:[f20<1.255] yes=25,no=26,missing=25,gain=5.80861664,cover=76.6054993"         
 [544] "25:leaf=-0.145126805,cover=64.0847778"                                           
 [545] "26:leaf=0.0733757615,cover=12.5207224"                                           
 [546] "18:[f44<0.774999976] yes=27,no=28,missing=27,gain=5.86016941,cover=30.1335125"   
 [547] "27:leaf=0.156630591,cover=24.6110077"                                            
 [548] "28:leaf=-0.164484024,cover=5.52250385"                                           
 [549] "12:[f48<0.965499997] yes=19,no=20,missing=19,gain=6.49913502,cover=60.3415108"   
 [550] "19:[f54<1.8375001] yes=29,no=30,missing=29,gain=7.47935104,cover=58.2962418"     
 [551] "29:leaf=-0.0883502513,cover=9.63896465"                                          
 [552] "30:leaf=0.193101317,cover=48.65728"                                              
 [553] "20:leaf=-0.309444785,cover=2.04526734"                                           
 [554] "8:[f15<0.845000029] yes=13,no=14,missing=13,gain=4.00631714,cover=29.5142117"    
 [555] "13:[f10<0.444999993] yes=21,no=22,missing=21,gain=4.10984612,cover=28.1857758"   
 [556] "21:[f48<0.167500004] yes=31,no=32,missing=31,gain=4.42033195,cover=27.1370716"   
 [557] "31:leaf=-0.299456358,cover=24.1845531"                                           
 [558] "32:leaf=0.0684102848,cover=2.95251989"                                           
 [559] "22:leaf=0.212186038,cover=1.04870296"                                            
 [560] "14:leaf=0.197972789,cover=1.32843637"                                            
 [561] "4:[f10<0.469999999] yes=9,no=10,missing=9,gain=1.53589821,cover=19.1483936"      
 [562] "9:[f35<0.0450000018] yes=15,no=16,missing=15,gain=0.620206833,cover=17.3715611"  
 [563] "15:[f55<8.5] yes=23,no=24,missing=23,gain=0.0140991211,cover=16.3411255"         
 [564] "23:leaf=0.0918928608,cover=1.03812611"                                           
 [565] "24:leaf=0.315639049,cover=15.3030005"                                            
 [566] "16:leaf=0.0322851203,cover=1.03043532"                                           
 [567] "10:leaf=0.00112847611,cover=1.77683258"                                          
 [568] "2:[f16<0.355000019] yes=5,no=6,missing=5,gain=0.899616241,cover=25.1978779"      
 [569] "5:leaf=-0.300720781,cover=23.5431786"                                            
 [570] "6:leaf=-0.0424691215,cover=1.65469944"                                           
 [571] "booster[10]"                                                                     
 [572] "0:[f24<0.114999995] yes=1,no=2,missing=1,gain=17.5429153,cover=220.404175"       
 [573] "1:[f55<9.5] yes=3,no=4,missing=3,gain=13.8000927,cover=185.527344"               
 [574] "3:[f51<0.983999968] yes=7,no=8,missing=7,gain=7.20861864,cover=65.780632"        
 [575] "7:[f17<0.36500001] yes=13,no=14,missing=13,gain=6.7215395,cover=59.5954742"      
 [576] "13:[f6<0.889999986] yes=25,no=26,missing=25,gain=5.18266106,cover=53.2444534"    
 [577] "25:[f15<0.544999957] yes=41,no=42,missing=41,gain=3.59808922,cover=51.445694"    
 [578] "41:leaf=-0.20680733,cover=46.0377884"                                            
 [579] "42:leaf=0.0443140864,cover=5.40790462"                                           
 [580] "26:leaf=0.250227898,cover=1.79875779"                                            
 [581] "14:[f55<4.5] yes=27,no=28,missing=27,gain=1.99450815,cover=6.35102081"           
 [582] "27:[f4<0.964999974] yes=43,no=44,missing=43,gain=2.06981993,cover=3.2758801"     
 [583] "43:leaf=-0.18929705,cover=1.85639453"                                            
 [584] "44:leaf=0.18813771,cover=1.41948545"                                             
 [585] "28:[f51<0.191] yes=45,no=46,missing=45,gain=0.839158773,cover=3.07514095"        
 [586] "45:leaf=0.36958006,cover=2.02870345"                                             
 [587] "46:leaf=0.0280240178,cover=1.04643738"                                           
 [588] "8:[f44<1.245] yes=15,no=16,missing=15,gain=3.37973809,cover=6.18516159"          
 [589] "15:[f54<1.70799994] yes=29,no=30,missing=29,gain=0.253184795,cover=5.1409812"    
 [590] "29:[f2<0.36500001] yes=47,no=48,missing=47,gain=0.615327835,cover=4.036901"      
 [591] "47:leaf=0.383786768,cover=2.83164954"                                            
 [592] "48:leaf=0.0660719648,cover=1.20525169"                                           
 [593] "30:leaf=0.0696772337,cover=1.10407972"                                           
 [594] "16:leaf=-0.181759238,cover=1.04418075"                                           
 [595] "4:[f36<0.199999988] yes=9,no=10,missing=9,gain=10.2572985,cover=119.746712"      
 [596] "9:[f4<0.00999999978] yes=17,no=18,missing=17,gain=7.14442635,cover=105.532089"   
 [597] "17:[f55<42.5] yes=31,no=32,missing=31,gain=7.53953981,cover=62.5791245"          
 [598] "31:[f55<32.5] yes=49,no=50,missing=49,gain=5.66855145,cover=47.182663"           
 [599] "49:leaf=0.0627230853,cover=42.5116119"                                           
 [600] "50:leaf=0.384769619,cover=4.67104959"                                            
 [601] "32:[f52<0.050999999] yes=51,no=52,missing=51,gain=7.56710148,cover=15.3964605"   
 [602] "51:leaf=-0.234392911,cover=12.4671783"                                           
 [603] "52:leaf=0.244616106,cover=2.92928195"                                            
 [604] "18:[f10<0.474999994] yes=33,no=34,missing=33,gain=5.149683,cover=42.9529648"     
 [605] "33:[f41<0.414999992] yes=53,no=54,missing=53,gain=2.54151726,cover=40.3792839"   
 [606] "53:leaf=0.241076127,cover=39.3076019"                                            
 [607] "54:leaf=-0.135561496,cover=1.07168186"                                           
 [608] "34:[f55<33.5] yes=55,no=56,missing=55,gain=5.86164427,cover=2.57368088"          
 [609] "55:leaf=-0.503028333,cover=1.10095668"                                           
 [610] "56:leaf=0.191761196,cover=1.4727242"                                             
 [611] "10:[f54<4.52400017] yes=19,no=20,missing=19,gain=3.09484863,cover=14.2146244"    
 [612] "19:[f55<30.5] yes=35,no=36,missing=35,gain=0.993920326,cover=10.725976"          
 [613] "35:[f15<0.280000001] yes=57,no=58,missing=57,gain=1.79341519,cover=6.92743635"   
 [614] "57:leaf=-0.193309516,cover=5.87282848"                                           
 [615] "58:leaf=0.140889689,cover=1.05460799"                                            
 [616] "36:leaf=-0.346188217,cover=3.79853988"                                           
 [617] "20:[f2<0.485000014] yes=37,no=38,missing=37,gain=1.37321091,cover=3.48864818"    
 [618] "37:[f36<0.940000057] yes=59,no=60,missing=59,gain=0.0501270294,cover=2.45719314" 
 [619] "59:leaf=0.0491509996,cover=1.01627505"                                           
 [620] "60:leaf=0.211388573,cover=1.44091809"                                            
 [621] "38:leaf=-0.13850145,cover=1.03145504"                                            
 [622] "2:[f10<0.425000012] yes=5,no=6,missing=5,gain=3.1765213,cover=34.8768311"        
 [623] "5:[f22<0.0149999997] yes=11,no=12,missing=11,gain=2.51783752,cover=33.2335167"   
 [624] "11:[f15<0.695000052] yes=21,no=22,missing=21,gain=1.72016525,cover=30.2428207"   
 [625] "21:[f19<0.174999997] yes=39,no=40,missing=39,gain=1.10501862,cover=29.1672192"   
 [626] "39:[f32<1.01999998] yes=61,no=62,missing=61,gain=0.62172699,cover=28.1556301"    
 [627] "61:leaf=-0.292788357,cover=26.9310799"                                           
 [628] "62:leaf=-0.0381427631,cover=1.22454882"                                          
 [629] "40:leaf=0.0184148885,cover=1.01159048"                                           
 [630] "22:leaf=0.0637860149,cover=1.07560086"                                           
 [631] "12:[f48<0.0820000023] yes=23,no=24,missing=23,gain=2.15000629,cover=2.99069667"  
 [632] "23:leaf=-0.144530579,cover=1.97546268"                                           
 [633] "24:leaf=0.257186294,cover=1.01523399"                                            
 [634] "6:leaf=0.13297233,cover=1.64331424"                                              
 [635] "booster[11]"                                                                     
 [636] "0:[f26<0.00499999989] yes=1,no=2,missing=1,gain=13.7812099,cover=199.017822"     
 [637] "1:[f41<0.454999983] yes=3,no=4,missing=3,gain=11.8233223,cover=182.173935"       
 [638] "3:[f45<0.105000004] yes=7,no=8,missing=7,gain=10.5766716,cover=173.32933"        
 [639] "7:[f25<0.0700000003] yes=11,no=12,missing=11,gain=10.299345,cover=152.560928"    
 [640] "11:[f44<0.474999994] yes=15,no=16,missing=15,gain=7.25176239,cover=137.885178"   
 [641] "15:[f18<1.80499995] yes=23,no=24,missing=23,gain=7.01900959,cover=120.960388"    
 [642] "23:leaf=0.0393665731,cover=67.4758453"                                           
 [643] "24:leaf=0.184893146,cover=53.484539"                                             
 [644] "16:[f52<0.145999998] yes=25,no=26,missing=25,gain=3.36298633,cover=16.9247913"   
 [645] "25:leaf=-0.171760216,cover=12.9743166"                                           
 [646] "26:leaf=0.120509759,cover=3.95047402"                                            
 [647] "12:[f44<0.344999999] yes=17,no=18,missing=17,gain=3.39289236,cover=14.6757536"   
 [648] "17:[f4<0.769999981] yes=27,no=28,missing=27,gain=2.82785511,cover=12.7402678"    
 [649] "27:leaf=-0.28815788,cover=10.8438568"                                            
 [650] "28:leaf=0.0738757178,cover=1.89641106"                                           
 [651] "18:leaf=0.139417067,cover=1.9354856"                                             
 [652] "8:[f27<0.229999989] yes=13,no=14,missing=13,gain=8.44047356,cover=20.7683983"    
 [653] "13:[f4<0.514999986] yes=19,no=20,missing=19,gain=1.73012161,cover=17.9236317"    
 [654] "19:[f11<1.37] yes=29,no=30,missing=29,gain=0.699894905,cover=16.2264633"         
 [655] "29:leaf=-0.290573239,cover=15.190382"                                            
 [656] "30:leaf=-0.0178008918,cover=1.03608167"                                          
 [657] "20:leaf=0.0273585338,cover=1.69716763"                                           
 [658] "14:[f54<2.46749997] yes=21,no=22,missing=21,gain=0.268998623,cover=2.84476709"   
 [659] "21:leaf=0.306391418,cover=1.73843634"                                            
 [660] "22:leaf=0.0575627163,cover=1.10633087"                                           
 [661] "4:leaf=-0.312296212,cover=8.84460735"                                            
 [662] "2:[f5<0.420000017] yes=5,no=6,missing=5,gain=0.739887238,cover=16.8438854"       
 [663] "5:[f8<0.639999986] yes=9,no=10,missing=9,gain=0.0692911148,cover=15.544035"      
 [664] "9:leaf=-0.294586927,cover=14.5057545"                                            
 [665] "10:leaf=-0.0795330107,cover=1.03828001"                                          
 [666] "6:leaf=-0.0274123922,cover=1.29984963"                                           
 [667] "booster[12]"                                                                     
 [668] "0:[f23<0.00999999978] yes=1,no=2,missing=1,gain=10.1863613,cover=186.077667"     
 [669] "1:[f51<0.457499981] yes=3,no=4,missing=3,gain=9.41360664,cover=165.868393"       
 [670] "3:[f26<0.00499999989] yes=7,no=8,missing=7,gain=6.39834213,cover=137.384811"     
 [671] "7:[f5<0.314999998] yes=13,no=14,missing=13,gain=4.94257927,cover=125.628494"     
 [672] "13:[f36<0.0850000009] yes=23,no=24,missing=23,gain=4.32857752,cover=116.574181"  
 [673] "23:[f56<468] yes=33,no=34,missing=33,gain=5.21480513,cover=100.270546"           
 [674] "33:leaf=-0.0613245405,cover=95.1909409"                                          
 [675] "34:leaf=0.225769475,cover=5.07960367"                                            
 [676] "24:[f48<0.169] yes=35,no=36,missing=35,gain=1.78550148,cover=16.3036327"         
 [677] "35:leaf=-0.241939709,cover=14.4326754"                                           
 [678] "36:leaf=0.0466570929,cover=1.8709563"                                            
 [679] "14:[f54<1.94350004] yes=25,no=26,missing=25,gain=5.36678314,cover=9.05431747"    
 [680] "25:[f5<0.465000004] yes=37,no=38,missing=37,gain=0.249476135,cover=3.29282236"   
 [681] "37:leaf=-0.00989749562,cover=1.25385976"                                         
 [682] "38:leaf=-0.177458599,cover=2.0389626"                                            
 [683] "26:[f11<0.625] yes=39,no=40,missing=39,gain=0.497808933,cover=5.76149559"        
 [684] "39:leaf=0.344781607,cover=4.68885946"                                            
 [685] "40:leaf=0.0556606986,cover=1.07263613"                                           
 [686] "8:leaf=-0.276147693,cover=11.756321"                                             
 [687] "4:[f56<77] yes=9,no=10,missing=9,gain=3.77010345,cover=28.4835758"               
 [688] "9:[f11<1.58500004] yes=15,no=16,missing=15,gain=3.59933352,cover=17.9485111"     
 [689] "15:[f44<1.2249999] yes=27,no=28,missing=27,gain=1.46250546,cover=15.5976229"     
 [690] "27:[f51<0.824999988] yes=41,no=42,missing=41,gain=1.40521336,cover=14.1960363"   
 [691] "41:leaf=0.00370711647,cover=6.30389547"                                          
 [692] "42:leaf=0.189467996,cover=7.89214039"                                            
 [693] "28:leaf=-0.14529486,cover=1.40158653"                                            
 [694] "16:leaf=-0.259092182,cover=2.35088944"                                           
 [695] "10:[f15<1.42000008] yes=17,no=18,missing=17,gain=0.631894588,cover=10.5350647"   
 [696] "17:[f36<0.189999998] yes=29,no=30,missing=29,gain=0.317004204,cover=9.51429272"  
 [697] "29:leaf=0.288322985,cover=8.4684906"                                             
 [698] "30:leaf=0.0508493036,cover=1.04580164"                                           
 [699] "18:leaf=0.011006617,cover=1.02077174"                                            
 [700] "2:[f44<0.444999993] yes=5,no=6,missing=5,gain=2.77604294,cover=20.20928"         
 [701] "5:[f49<0.20449999] yes=11,no=12,missing=11,gain=3.14390182,cover=18.5205574"     
 [702] "11:[f45<0.109999999] yes=19,no=20,missing=19,gain=1.88195896,cover=15.699194"    
 [703] "19:[f18<0.354999989] yes=31,no=32,missing=31,gain=0.111322403,cover=14.6858149"  
 [704] "31:leaf=0.0934873149,cover=1.379794"                                             
 [705] "32:leaf=0.302451372,cover=13.3060207"                                            
 [706] "20:leaf=-0.0728443414,cover=1.01337957"                                          
 [707] "12:[f8<0.335000008] yes=21,no=22,missing=21,gain=1.47214508,cover=2.82136393"    
 [708] "21:leaf=-0.190044224,cover=1.8024528"                                            
 [709] "22:leaf=0.149605513,cover=1.01891112"                                            
 [710] "6:leaf=-0.130987182,cover=1.6887219"                                             
 [711] "booster[13]"                                                                     
 [712] "0:[f22<0.25999999] yes=1,no=2,missing=1,gain=8.02625465,cover=173.723999"        
 [713] "1:[f26<0.00499999989] yes=3,no=4,missing=3,gain=6.85149479,cover=162.500214"     
 [714] "3:[f41<0.454999983] yes=7,no=8,missing=7,gain=6.8023777,cover=152.18367"         
 [715] "7:[f4<0.375] yes=13,no=14,missing=13,gain=5.82044888,cover=145.642258"           
 [716] "13:[f2<0.305000007] yes=15,no=16,missing=15,gain=4.37450504,cover=115.320343"    
 [717] "15:[f45<1.80499995] yes=19,no=20,missing=19,gain=4.06735849,cover=89.3339081"    
 [718] "19:leaf=0.0183024351,cover=85.5199966"                                           
 [719] "20:leaf=-0.26502797,cover=3.81390786"                                            
 [720] "16:[f15<0.665000021] yes=21,no=22,missing=21,gain=4.05561256,cover=25.9864349"   
 [721] "21:leaf=-0.180954456,cover=22.4561958"                                           
 [722] "22:leaf=0.136406988,cover=3.53023863"                                            
 [723] "14:[f11<0.814999998] yes=17,no=18,missing=17,gain=3.21179581,cover=30.3219109"   
 [724] "17:[f43<0.0250000004] yes=23,no=24,missing=23,gain=2.54590178,cover=22.67803"    
 [725] "23:leaf=0.197430551,cover=21.4198494"                                            
 [726] "24:leaf=-0.156857535,cover=1.25817955"                                           
 [727] "18:[f20<0.454999983] yes=25,no=26,missing=25,gain=3.7567482,cover=7.64388132"    
 [728] "25:leaf=-0.304586172,cover=2.2583158"                                            
 [729] "26:leaf=0.0924226195,cover=5.38556528"                                           
 [730] "8:leaf=-0.289795995,cover=6.54142284"                                            
 [731] "4:[f8<0.360000014] yes=9,no=10,missing=9,gain=0.519197464,cover=10.3165398"      
 [732] "9:leaf=-0.27879265,cover=8.93866062"                                             
 [733] "10:leaf=-0.0437295064,cover=1.37787879"                                          
 [734] "2:[f10<0.469999999] yes=5,no=6,missing=5,gain=1.66400862,cover=11.2237797"       
 [735] "5:[f36<0.0850000009] yes=11,no=12,missing=11,gain=0.360965729,cover=9.791255"    
 [736] "11:leaf=0.289283454,cover=8.23530006"                                            
 [737] "12:leaf=0.0699158236,cover=1.55595493"                                           
 [738] "6:leaf=-0.0499542169,cover=1.4325254"                                            
 [739] "booster[14]"                                                                     
 [740] "0:[f24<0.114999995] yes=1,no=2,missing=1,gain=6.71800041,cover=165.518005"       
 [741] "1:[f16<0.0649999976] yes=3,no=4,missing=3,gain=7.23904896,cover=143.869003"      
 [742] "3:[f35<0.335000008] yes=7,no=8,missing=7,gain=8.55298328,cover=124.697037"       
 [743] "7:[f23<0.0199999996] yes=15,no=16,missing=15,gain=5.60011482,cover=121.071152"   
 [744] "15:[f44<0.0399999991] yes=25,no=26,missing=25,gain=4.69654083,cover=111.305504"  
 [745] "25:[f5<0.519999981] yes=35,no=36,missing=35,gain=3.79500413,cover=89.6942978"    
 [746] "35:leaf=-0.0318490863,cover=85.4863358"                                          
 [747] "36:leaf=0.231950089,cover=4.20796776"                                            
 [748] "26:[f54<3.74100018] yes=37,no=38,missing=37,gain=3.89009619,cover=21.6112022"    
 [749] "37:leaf=-0.229298607,cover=17.5326805"                                           
 [750] "38:leaf=0.078592509,cover=4.07852077"                                            
 [751] "16:[f45<0.140000001] yes=27,no=28,missing=27,gain=1.59629655,cover=9.76565361"   
 [752] "27:[f56<63.5] yes=39,no=40,missing=39,gain=1.22391176,cover=8.62063503"          
 [753] "39:leaf=0.024786802,cover=2.4136734"                                             
 [754] "40:leaf=0.282849133,cover=6.20696163"                                            
 [755] "28:leaf=-0.0932549536,cover=1.14501846"                                          
 [756] "8:[f11<0.199999988] yes=17,no=18,missing=17,gain=0.46661377,cover=3.62588286"    
 [757] "17:leaf=0.134502321,cover=1.61579025"                                            
 [758] "18:leaf=0.478123814,cover=2.0100925"                                             
 [759] "4:[f41<0.00499999989] yes=9,no=10,missing=9,gain=1.85087585,cover=19.1719627"    
 [760] "9:[f20<3.375] yes=19,no=20,missing=19,gain=1.74507236,cover=18.0012875"          
 [761] "19:[f35<0.140000001] yes=29,no=30,missing=29,gain=0.749493599,cover=16.9359608"  
 [762] "29:[f11<1.25999999] yes=41,no=42,missing=41,gain=0.662388802,cover=15.9182434"   
 [763] "41:leaf=0.270714611,cover=13.1513128"                                            
 [764] "42:leaf=0.0738372058,cover=2.76693082"                                           
 [765] "30:leaf=-0.0114546716,cover=1.01771808"                                          
 [766] "20:leaf=-0.0981129035,cover=1.06532538"                                          
 [767] "10:leaf=-0.114052787,cover=1.17067683"                                           
 [768] "2:[f9<0.145000011] yes=5,no=6,missing=5,gain=2.04887438,cover=21.6490116"        
 [769] "5:[f10<0.100000001] yes=11,no=12,missing=11,gain=1.01353359,cover=15.0209208"    
 [770] "11:[f32<0.664999962] yes=21,no=22,missing=21,gain=0.62698555,cover=13.5483122"   
 [771] "21:[f43<0.375] yes=31,no=32,missing=31,gain=0.726372719,cover=12.5143003"        
 [772] "31:leaf=-0.28136307,cover=11.5079899"                                            
 [773] "32:leaf=-0.00810715649,cover=1.00631082"                                         
 [774] "22:leaf=-0.0095815789,cover=1.03401089"                                          
 [775] "12:leaf=0.0101625537,cover=1.47260928"                                           
 [776] "6:[f54<2.61450005] yes=13,no=14,missing=13,gain=2.71890402,cover=6.6280899"      
 [777] "13:leaf=-0.229981259,cover=2.31688809"                                           
 [778] "14:[f18<1.71000004] yes=23,no=24,missing=23,gain=0.944814801,cover=4.31120157"   
 [779] "23:[f51<0.0274999999] yes=33,no=34,missing=33,gain=1.15253925,cover=2.82814884"  
 [780] "33:leaf=-0.13848342,cover=1.57280385"                                            
 [781] "34:leaf=0.155304372,cover=1.25534511"                                            
 [782] "24:leaf=0.25147301,cover=1.48305261"                                             
 [783] "booster[15]"                                                                     
 [784] "0:[f41<0.454999983] yes=1,no=2,missing=1,gain=5.0738759,cover=156.042694"        
 [785] "1:[f25<0.0649999976] yes=3,no=4,missing=3,gain=4.80138779,cover=150.784286"      
 [786] "3:[f56<16.5] yes=5,no=6,missing=5,gain=5.35411978,cover=137.973404"              
 [787] "5:[f51<1.74650002] yes=9,no=10,missing=9,gain=5.76440334,cover=21.8589535"       
 [788] "9:[f18<4.39000034] yes=15,no=16,missing=15,gain=3.84801674,cover=19.4910126"     
 [789] "15:[f15<0.814999998] yes=25,no=26,missing=25,gain=1.66663742,cover=15.4994984"   
 [790] "25:leaf=-0.258210272,cover=14.4321508"                                           
 [791] "26:leaf=0.073717609,cover=1.06734741"                                            
 [792] "16:[f54<1.52749991] yes=27,no=28,missing=27,gain=0.623910367,cover=3.99151373"   
 [793] "27:leaf=0.138178736,cover=2.98979044"                                            
 [794] "28:leaf=-0.0765335411,cover=1.00172329"                                          
 [795] "10:[f56<10.5] yes=17,no=18,missing=17,gain=0.0821959972,cover=2.36794138"        
 [796] "17:leaf=0.313257515,cover=1.27633476"                                            
 [797] "18:leaf=0.078973569,cover=1.0916065"                                             
 [798] "6:[f44<0.36500001] yes=11,no=12,missing=11,gain=4.27094841,cover=116.114449"     
 [799] "11:[f36<0.0649999976] yes=19,no=20,missing=19,gain=4.0611968,cover=97.8998566"   
 [800] "19:[f48<1.13400006] yes=29,no=30,missing=29,gain=3.86317635,cover=85.4058533"    
 [801] "29:leaf=0.105491631,cover=83.6969833"                                            
 [802] "30:leaf=-0.263108552,cover=1.70886886"                                           
 [803] "20:[f36<0.75] yes=31,no=32,missing=31,gain=2.31638718,cover=12.4940052"          
 [804] "31:leaf=-0.173918635,cover=7.89483452"                                           
 [805] "32:leaf=0.0761598796,cover=4.59917021"                                           
 [806] "12:[f15<0.804999948] yes=21,no=22,missing=21,gain=2.87368441,cover=18.2145882"   
 [807] "21:[f52<0.141000003] yes=33,no=34,missing=33,gain=2.51154304,cover=15.4253778"   
 [808] "33:leaf=-0.193858474,cover=12.1385393"                                           
 [809] "34:leaf=0.0803262815,cover=3.28683901"                                           
 [810] "22:[f18<3.71000004] yes=35,no=36,missing=35,gain=0.114027023,cover=2.78921008"   
 [811] "35:leaf=0.195385098,cover=1.72583675"                                            
 [812] "36:leaf=0.0345923938,cover=1.06337333"                                           
 [813] "4:[f20<0.164999992] yes=7,no=8,missing=7,gain=1.86203861,cover=12.8108873"       
 [814] "7:leaf=-0.268327445,cover=6.33608103"                                            
 [815] "8:[f44<0.344999999] yes=13,no=14,missing=13,gain=2.15118313,cover=6.47480631"    
 [816] "13:[f4<0.74000001] yes=23,no=24,missing=23,gain=2.24266481,cover=5.11129284"     
 [817] "23:leaf=-0.236360133,cover=3.70198989"                                           
 [818] "24:leaf=0.132130563,cover=1.40930307"                                            
 [819] "14:leaf=0.208511218,cover=1.36351347"                                            
 [820] "2:leaf=-0.271178573,cover=5.25841045"                                            
 [821] "booster[16]"                                                                     
 [822] "0:[f26<0.00499999989] yes=1,no=2,missing=1,gain=4.32476139,cover=148.688278"     
 [823] "1:[f38<0.774999976] yes=3,no=4,missing=3,gain=4.16591024,cover=141.694931"       
 [824] "3:[f40<0.00999999978] yes=7,no=8,missing=7,gain=4.0496645,cover=138.029724"      
 [825] "7:[f41<0.454999983] yes=9,no=10,missing=9,gain=3.62811303,cover=134.502075"      
 [826] "9:[f49<0.611999989] yes=11,no=12,missing=11,gain=3.33116436,cover=131.118942"    
 [827] "11:[f6<0.625] yes=13,no=14,missing=13,gain=3.59748244,cover=126.188995"          
 [828] "13:leaf=0.0281520579,cover=118.29493"                                            
 [829] "14:leaf=0.226473153,cover=7.89406872"                                            
 [830] "12:[f49<0.921499968] yes=15,no=16,missing=15,gain=0.578398466,cover=4.92994976"  
 [831] "15:leaf=-0.234274298,cover=3.77466774"                                           
 [832] "16:leaf=0.00122965092,cover=1.1552819"                                           
 [833] "10:leaf=-0.245445445,cover=3.38312674"                                           
 [834] "8:leaf=-0.265028864,cover=3.52764773"                                            
 [835] "4:leaf=-0.273969918,cover=3.66520619"                                            
 [836] "2:[f51<0.240500003] yes=5,no=6,missing=5,gain=0.654488564,cover=6.99334574"      
 [837] "5:leaf=-0.257157981,cover=5.83840275"                                            
 [838] "6:leaf=-0.00686721876,cover=1.15494287"                                          
 [839] "booster[17]"                                                                     
 [840] "0:[f28<0.125] yes=1,no=2,missing=1,gain=3.88810325,cover=144.346497"             
 [841] "1:[f45<0.0850000009] yes=3,no=4,missing=3,gain=3.63139892,cover=139.96431"       
 [842] "3:[f43<0.474999994] yes=7,no=8,missing=7,gain=4.58339071,cover=125.705933"       
 [843] "7:[f5<0.534999967] yes=11,no=12,missing=11,gain=3.11711168,cover=121.737343"     
 [844] "11:[f56<883] yes=15,no=16,missing=15,gain=2.81965232,cover=115.53019"            
 [845] "15:[f24<0.715000033] yes=21,no=22,missing=21,gain=3.25732517,cover=110.65284"    
 [846] "21:leaf=0.02119717,cover=103.145889"                                             
 [847] "22:leaf=-0.171887428,cover=7.50694942"                                           
 [848] "16:[f36<0.125] yes=23,no=24,missing=23,gain=0.285058737,cover=4.87735081"        
 [849] "23:leaf=0.259458184,cover=3.51286936"                                            
 [850] "24:leaf=0.0516305193,cover=1.36448169"                                           
 [851] "12:[f55<11.5] yes=17,no=18,missing=17,gain=1.48474479,cover=6.2071538"           
 [852] "17:leaf=-0.0318086483,cover=1.43265665"                                          
 [853] "18:leaf=0.289368749,cover=4.77449751"                                            
 [854] "8:leaf=-0.264438003,cover=3.96858716"                                            
 [855] "4:[f13<0.114999995] yes=9,no=10,missing=9,gain=3.49629092,cover=14.2583742"      
 [856] "9:[f9<0.754999995] yes=13,no=14,missing=13,gain=2.71580362,cover=13.2479706"     
 [857] "13:[f49<0.349999994] yes=19,no=20,missing=19,gain=2.4810009,cover=11.335001"     
 [858] "19:[f11<0.63499999] yes=25,no=26,missing=25,gain=0.108050346,cover=9.8127718"    
 [859] "25:leaf=-0.311955869,cover=7.83129692"                                           
 [860] "26:leaf=-0.116577491,cover=1.98147511"                                           
 [861] "20:leaf=0.0794235468,cover=1.52222884"                                           
 [862] "14:leaf=0.106543168,cover=1.91297019"                                            
 [863] "10:leaf=0.252308458,cover=1.01040375"                                            
 [864] "2:[f49<0.327499986] yes=5,no=6,missing=5,gain=0.339761972,cover=4.38218403"      
 [865] "5:leaf=-0.296511322,cover=3.38179684"                                            
 [866] "6:leaf=-0.0451309606,cover=1.00038719"                                           
 [867] "booster[18]"                                                                     
 [868] "0:[f15<2.41000009] yes=1,no=2,missing=1,gain=3.30186725,cover=139.258911"        
 [869] "1:[f22<0.25999999] yes=3,no=4,missing=3,gain=3.26670146,cover=135.497925"        
 [870] "3:[f51<0.476999998] yes=7,no=8,missing=7,gain=2.98471236,cover=128.487976"       
 [871] "7:[f4<2.42500019] yes=11,no=12,missing=11,gain=2.54946613,cover=107.197174"      
 [872] "11:[f23<0.164999992] yes=17,no=18,missing=17,gain=2.64162803,cover=105.133827"   
 [873] "17:[f0<0.194999993] yes=21,no=22,missing=21,gain=3.71229219,cover=98.934227"     
 [874] "21:leaf=-0.045914229,cover=88.8709793"                                           
 [875] "22:leaf=-0.231297776,cover=10.0632524"                                           
 [876] "18:[f55<9.5] yes=23,no=24,missing=23,gain=1.50123191,cover=6.19959593"           
 [877] "23:leaf=-0.120708555,cover=1.11335468"                                           
 [878] "24:leaf=0.186733395,cover=5.08624125"                                            
 [879] "12:leaf=0.224257648,cover=2.06334519"                                            
 [880] "8:[f11<1.49000001] yes=13,no=14,missing=13,gain=2.55233622,cover=21.2908077"     
 [881] "13:[f56<73.5] yes=19,no=20,missing=19,gain=1.96554661,cover=18.8179436"          
 [882] "19:[f51<0.569499969] yes=25,no=26,missing=25,gain=0.849975526,cover=11.9265862"  
 [883] "25:leaf=0.175783291,cover=1.89403236"                                            
 [884] "26:leaf=-0.00804823358,cover=10.0325537"                                         
 [885] "20:[f12<0.13499999] yes=27,no=28,missing=27,gain=0.855191231,cover=6.89135742"   
 [886] "27:leaf=0.267498106,cover=5.84612274"                                            
 [887] "28:leaf=-0.0124788554,cover=1.04523456"                                          
 [888] "14:leaf=-0.169615522,cover=2.47286367"                                           
 [889] "4:[f8<0.409999996] yes=9,no=10,missing=9,gain=2.06705523,cover=7.00994253"       
 [890] "9:[f36<0.075000003] yes=15,no=16,missing=15,gain=0.141070366,cover=5.99336815"   
 [891] "15:leaf=0.255229771,cover=4.98373032"                                            
 [892] "16:leaf=0.0544938855,cover=1.00963795"                                           
 [893] "10:leaf=-0.133912146,cover=1.01657403"                                           
 [894] "2:[f55<13] yes=5,no=6,missing=5,gain=0.194711447,cover=3.76098347"               
 [895] "5:leaf=0.275199026,cover=2.73685145"                                             
 [896] "6:leaf=0.0533696264,cover=1.02413201"                                            
 [897] "booster[19]"                                                                     
 [898] "0:[f26<0.00499999989] yes=1,no=2,missing=1,gain=3.15486789,cover=134.354187"     
 [899] "1:[f38<0.774999976] yes=3,no=4,missing=3,gain=2.80961323,cover=129.107574"       
 [900] "3:[f38<0.465000004] yes=7,no=8,missing=7,gain=3.00633168,cover=126.272575"       
 [901] "7:[f28<0.125] yes=9,no=10,missing=9,gain=2.7895627,cover=124.072037"             
 [902] "9:[f45<1.56999993] yes=11,no=12,missing=11,gain=2.44436383,cover=121.763054"     
 [903] "11:[f15<1.96500003] yes=13,no=14,missing=13,gain=2.35540342,cover=118.639732"    
 [904] "13:leaf=0.0128842955,cover=114.104523"                                           
 [905] "14:leaf=0.21346499,cover=4.53521109"                                             
 [906] "12:leaf=-0.212770209,cover=3.12332106"                                           
 [907] "10:leaf=-0.2646074,cover=2.3089869"                                              
 [908] "8:leaf=0.301859349,cover=2.20053792"                                             
 [909] "4:leaf=-0.245892569,cover=2.83499479"                                            
 [910] "2:[f51<0.240500003] yes=5,no=6,missing=5,gain=0.314497232,cover=5.24661779"      
 [911] "5:leaf=-0.241563261,cover=4.22827196"                                            
 [912] "6:leaf=-0.0275273491,cover=1.01834583"                                           
 [913] "booster[20]"                                                                     
 [914] "0:[f16<0.514999986] yes=1,no=2,missing=1,gain=2.33803225,cover=131.969589"       
 [915] "1:[f43<0.394999981] yes=3,no=4,missing=3,gain=2.75657105,cover=122.643028"       
 [916] "3:[f44<0.474999994] yes=7,no=8,missing=7,gain=2.67366672,cover=119.027695"       
 [917] "7:[f18<5.84000015] yes=11,no=12,missing=11,gain=3.05871582,cover=105.092537"     
 [918] "11:[f11<2.41000009] yes=17,no=18,missing=17,gain=2.95502234,cover=101.399399"    
 [919] "17:[f18<5.33500004] yes=27,no=28,missing=27,gain=2.96775365,cover=96.8890991"    
 [920] "27:leaf=0.0198800378,cover=95.4291992"                                           
 [921] "28:leaf=-0.313897103,cover=1.45989835"                                           
 [922] "18:[f18<3.38499999] yes=29,no=30,missing=29,gain=0.667945385,cover=4.51030302"   
 [923] "29:leaf=-0.265291035,cover=3.44290471"                                           
 [924] "30:leaf=-0.00051564764,cover=1.06739831"                                         
 [925] "12:[f54<1.4375] yes=19,no=20,missing=19,gain=1.29270363,cover=3.69313622"        
 [926] "19:leaf=0.0270605255,cover=1.75319707"                                           
 [927] "20:leaf=0.369575143,cover=1.93993914"                                            
 [928] "8:[f54<3.74100018] yes=13,no=14,missing=13,gain=2.33518291,cover=13.9351597"     
 [929] "13:[f15<0.495000005] yes=21,no=22,missing=21,gain=2.00406694,cover=10.1967716"   
 [930] "21:[f54<1.2385] yes=31,no=32,missing=31,gain=0.792727947,cover=7.88808775"       
 [931] "31:leaf=-0.0237849075,cover=1.30516565"                                          
 [932] "32:leaf=-0.29690069,cover=6.58292198"                                            
 [933] "22:[f2<0.539999962] yes=33,no=34,missing=33,gain=0.403715402,cover=2.30868387"   
 [934] "33:leaf=-0.0639577433,cover=1.13738441"                                          
 [935] "34:leaf=0.122664608,cover=1.17129946"                                            
 [936] "14:[f56<139.5] yes=23,no=24,missing=23,gain=1.61745715,cover=3.73838806"         
 [937] "23:leaf=0.191688389,cover=2.318753"                                              
 [938] "24:leaf=-0.134737313,cover=1.41963506"                                           
 [939] "4:leaf=-0.242538154,cover=3.6153338"                                             
 [940] "2:[f20<3.07999992] yes=5,no=6,missing=5,gain=1.70618486,cover=9.32655716"        
 [941] "5:[f24<0.185000002] yes=9,no=10,missing=9,gain=1.39364266,cover=8.32484055"      
 [942] "9:[f54<5.69750023] yes=15,no=16,missing=15,gain=0.615968704,cover=7.00953484"    
 [943] "15:[f56<56.5] yes=25,no=26,missing=25,gain=0.664115429,cover=5.98046017"         
 [944] "25:leaf=0.0415027589,cover=1.41441309"                                           
 [945] "26:leaf=0.306649536,cover=4.56604719"                                            
 [946] "16:leaf=0.00513831573,cover=1.02907443"                                          
 [947] "10:leaf=-0.0660959855,cover=1.31530547"                                          
 [948] "6:leaf=-0.142516971,cover=1.00171685"                                            
 [949] "booster[21]"                                                                     
 [950] "0:[f51<1.23899996] yes=1,no=2,missing=1,gain=2.31263995,cover=128.912598"        
 [951] "1:[f56<16.5] yes=3,no=4,missing=3,gain=2.88747478,cover=121.870293"              
 [952] "3:[f18<4.39000034] yes=7,no=8,missing=7,gain=3.10642076,cover=15.7994699"        
 [953] "7:[f15<1.9749999] yes=13,no=14,missing=13,gain=1.68007994,cover=12.0560551"      
 [954] "13:[f49<0.423500001] yes=21,no=22,missing=21,gain=0.546717644,cover=10.9806156"  
 [955] "21:leaf=-0.253737628,cover=9.96019173"                                           
 [956] "22:leaf=-0.0118702753,cover=1.02042353"                                          
 [957] "14:leaf=0.0922419131,cover=1.07544005"                                           
 [958] "8:[f18<5.94000006] yes=15,no=16,missing=15,gain=0.133856028,cover=3.74341464"    
 [959] "15:leaf=0.130643055,cover=1.9791652"                                             
 [960] "16:leaf=0.0157653578,cover=1.76424944"                                           
 [961] "4:[f54<1.55949998] yes=9,no=10,missing=9,gain=2.49325705,cover=106.070824"       
 [962] "9:[f17<0.394999981] yes=17,no=18,missing=17,gain=2.88667846,cover=19.9598236"    
 [963] "17:[f0<0.075000003] yes=23,no=24,missing=23,gain=2.65784955,cover=16.5503426"    
 [964] "23:[f54<1.5395] yes=31,no=32,missing=31,gain=1.8514396,cover=14.3113585"         
 [965] "31:leaf=0.0419695824,cover=13.1760397"                                           
 [966] "32:leaf=0.347995967,cover=1.13531959"                                            
 [967] "24:leaf=-0.212544218,cover=2.23898458"                                           
 [968] "18:[f20<0.939999998] yes=25,no=26,missing=25,gain=0.683146954,cover=3.40947986"  
 [969] "25:leaf=0.0579550304,cover=1.173105"                                             
 [970] "26:leaf=0.387776703,cover=2.23637486"                                            
 [971] "10:[f54<1.9375] yes=19,no=20,missing=19,gain=4.7167511,cover=86.1110001"         
 [972] "19:[f7<0.295000017] yes=27,no=28,missing=27,gain=4.62120438,cover=15.0347061"    
 [973] "27:[f56<169.5] yes=33,no=34,missing=33,gain=2.19785929,cover=13.7201042"         
 [974] "33:leaf=-0.269210398,cover=11.4548407"                                           
 [975] "34:leaf=0.0372274406,cover=2.26526332"                                           
 [976] "28:leaf=0.250386387,cover=1.3146019"                                             
 [977] "20:[f17<0.234999999] yes=29,no=30,missing=29,gain=3.98820734,cover=71.0762939"   
 [978] "29:[f36<0.0649999976] yes=35,no=36,missing=35,gain=2.92805052,cover=58.2977142"  
 [979] "35:leaf=0.076606974,cover=49.5112991"                                            
 [980] "36:leaf=-0.103457466,cover=8.78641605"                                           
 [981] "30:[f1<0.00999999978] yes=37,no=38,missing=37,gain=6.08018494,cover=12.7785778"  
 [982] "37:leaf=-0.283387274,cover=7.78680038"                                           
 [983] "38:leaf=0.114229895,cover=4.99177694"                                            
 [984] "2:[f51<5.02699995] yes=5,no=6,missing=5,gain=0.756679535,cover=7.04230404"       
 [985] "5:[f56<14.5] yes=11,no=12,missing=11,gain=0.238707542,cover=5.8104949"           
 [986] "11:leaf=0.0643231422,cover=2.07158041"                                           
 [987] "12:leaf=0.233793244,cover=3.73891425"                                            
 [988] "6:leaf=-0.0378925577,cover=1.23180926"                                           
 [989] "booster[22]"                                                                     
 [990] "0:[f49<0.611999989] yes=1,no=2,missing=1,gain=2.34435296,cover=125.515762"       
 [991] "1:[f6<0.625] yes=3,no=4,missing=3,gain=2.73068452,cover=120.435921"              
 [992] "3:[f7<0.314999998] yes=7,no=8,missing=7,gain=2.21876407,cover=114.393677"        
 [993] "7:[f5<0.829999983] yes=11,no=12,missing=11,gain=2.42314434,cover=106.084534"     
 [994] "11:[f56<2.5] yes=17,no=18,missing=17,gain=2.04381824,cover=103.629105"           
 [995] "17:leaf=0.257982522,cover=1.27085638"                                            
 [996] "18:[f9<3.51499987] yes=23,no=24,missing=23,gain=2.13122559,cover=102.358246"     
 [997] "23:leaf=-0.0363500901,cover=101.059113"                                          
 [998] "24:leaf=0.256409049,cover=1.29913807"                                            
 [999] "12:leaf=0.231266692,cover=2.45542765"                                            
[1000] "8:[f18<2.01999998] yes=13,no=14,missing=13,gain=1.58832896,cover=8.30914783"     
 [ reached getOption("max.print") -- omitted 478 entries ]
xgb.plot.tree(model=xgb1)

Define hyperparameter grid, really big! = really slow

ntrees<-42
hyper_grid<-expand.grid(
  eta=2/ntrees,
  max_depth=c(3,4,5,6,8,10),
  min_child_weight=c(1,2,3),
  subsample=c(0.5,0.75,1),
  colsample_bytree=c(0.4,0.6,0.8,1),
  gamma=c(0,1,3,10,100,1000),
  error=0,          # a place to dump error results
  trees=0)          # a place to dump required number of trees

Grid search

for(i in seq_len(nrow(hyper_grid))) {
  set.seed(123)
  m<-xgb.cv(
    data=train_data,
    label=train_label,
    nrounds=ntrees,
    objective="binary:logistic",
    early_stopping_rounds=10,
    nfold=5,
    verbose=1,
    eval_metric="error",
    params=list(
      eta=hyper_grid$eta[i],
      max_depth=hyper_grid$max_depth[i],
      min_child_weight=hyper_grid$min_child_weight[i],
      subsample=hyper_grid$subsample[i],
      colsample_bytree=hyper_grid$colsample_bytree[i],
      gamma=hyper_grid$gamma[i])
  )
  #hyper_grid$logloss[i]<-min(m$evaluation_log$test_logloss_mean)
  hyper_grid$error[i]<-min(m$evaluation_log$test_error_mean)
  hyper_grid$trees[i]<-m$best_iteration}

Results of search

hyper_grid %>%
  filter(error>0) %>%
  arrange(error) %>%
  glimpse()

Optimal parameter list from results of grid search

params<-list(
  eta=0.04761905,
  max_depth=10,
  min_child_weight=1,
  subsample=0.75,
  colsample_bytree=0.6,
  gamma=0)

Train final model

set.seed(123)
xgb_final<-xgboost(
  params=params,
  data=train_data,
  label=train_label,
  nrounds=31,
  objective="binary:logistic",
  early_stopping_rounds=10,
  nfold=5,
  verbose = 0,
  eval_metric="error")
[18:59:46] WARNING: amalgamation/../src/learner.cc:573: 
Parameters: { "nfold" } might not be used.

  This may not be accurate due to some parameters are only used in language bindings but
  passed down to XGBoost core.  Or some parameters are not used but slip through this
  verification. Please open an issue if you find above cases.
xgb_pred_final<-predict(xgb_final,test_data)
library(pROC)
my_roc_final<-roc(test_label,xgb_pred_final)
Setting levels: control = 0, case = 1
Setting direction: controls < cases
coords(my_roc_final,"best",ret=c("threshold","specificity","sensitivity","accuracy",
                           "precision","recall"),transpose=FALSE)

Importance matrix

importance_matrix<-xgb.importance(model=xgb_final)
print(importance_matrix)
xgb.plot.importance(importance_matrix=importance_matrix)

xgb.dump(xgb_final,with_stats=TRUE)
   [1] "booster[0]"                                                                        
   [2] "0:[f6<0.00999999978] yes=1,no=2,missing=1,gain=589.312073,cover=604.75"            
   [3] "1:[f15<0.13499999] yes=3,no=4,missing=3,gain=399.843567,cover=501.5"               
   [4] "3:[f54<3.3829999] yes=7,no=8,missing=7,gain=175.670593,cover=409.75"               
   [5] "7:[f23<0.00999999978] yes=13,no=14,missing=13,gain=56.6517944,cover=334.75"        
   [6] "13:[f22<0.425000012] yes=21,no=22,missing=21,gain=24.3152466,cover=322.25"         
   [7] "21:[f16<0.935000002] yes=33,no=34,missing=33,gain=9.45025635,cover=319"            
   [8] "33:[f21<0.135000005] yes=49,no=50,missing=49,gain=8.48516846,cover=314.25"         
   [9] "49:[f18<3.69500017] yes=65,no=66,missing=65,gain=6.29571533,cover=312.75"          
  [10] "65:[f10<0.555000007] yes=81,no=82,missing=81,gain=7.43847656,cover=276.25"         
  [11] "81:[f55<27.5] yes=97,no=98,missing=97,gain=2.51300049,cover=275.25"                
  [12] "97:leaf=-0.0888824686,cover=246.25"                                                
  [13] "98:leaf=-0.0666666701,cover=29"                                                    
  [14] "82:leaf=0.0238095243,cover=1"                                                      
  [15] "66:[f54<2.05350018] yes=83,no=84,missing=83,gain=12.4529457,cover=36.5"            
  [16] "83:[f17<1.75999999] yes=99,no=100,missing=99,gain=2.68929291,cover=27.25"          
  [17] "99:leaf=-0.0795107037,cover=26.25"                                                 
  [18] "100:leaf=-0,cover=1"                                                               
  [19] "84:[f2<0.119999997] yes=101,no=102,missing=101,gain=3.57943296,cover=9.25"         
  [20] "101:leaf=-0.0231660232,cover=8.25"                                                 
  [21] "102:leaf=0.0476190485,cover=1"                                                     
  [22] "50:leaf=0.0190476198,cover=1.5"                                                    
  [23] "34:[f18<2.64499998] yes=51,no=52,missing=51,gain=5.94202852,cover=4.75"            
  [24] "51:[f2<0.0299999993] yes=67,no=68,missing=67,gain=1.01587319,cover=3.5"            
  [25] "67:leaf=-0.0544217713,cover=2.5"                                                   
  [26] "68:leaf=-0,cover=1"                                                                
  [27] "52:leaf=0.052910056,cover=1.25"                                                    
  [28] "22:[f55<9.5] yes=35,no=36,missing=35,gain=3.84841633,cover=3.25"                   
  [29] "35:leaf=-0.0238095243,cover=1"                                                     
  [30] "36:leaf=0.0659340695,cover=2.25"                                                   
  [31] "14:[f7<0.00999999978] yes=23,no=24,missing=23,gain=8.47058868,cover=12.5"          
  [32] "23:[f10<0.0399999991] yes=37,no=38,missing=37,gain=6.70084047,cover=7.5"           
  [33] "37:[f18<6.23499966] yes=53,no=54,missing=53,gain=6.59523869,cover=6"               
  [34] "53:[f16<0.170000002] yes=69,no=70,missing=69,gain=5.13333321,cover=5"              
  [35] "69:leaf=-0.0761904791,cover=4"                                                     
  [36] "70:leaf=0.0238095243,cover=1"                                                      
  [37] "54:leaf=0.0476190485,cover=1"                                                      
  [38] "38:leaf=0.0571428612,cover=1.5"                                                    
  [39] "24:[f11<0.639999986] yes=39,no=40,missing=39,gain=2.13333321,cover=5"              
  [40] "39:leaf=0.0761904791,cover=4"                                                      
  [41] "40:leaf=-0,cover=1"                                                                
  [42] "8:[f26<0.0199999996] yes=15,no=16,missing=15,gain=73.8250122,cover=75"             
  [43] "15:[f25<0.129999995] yes=25,no=26,missing=25,gain=35.0212708,cover=59.75"          
  [44] "25:[f23<0.0199999996] yes=41,no=42,missing=41,gain=19.5713539,cover=54.5"          
  [45] "41:[f22<0.075000003] yes=55,no=56,missing=55,gain=17.7731094,cover=41.5"           
  [46] "55:[f7<0.425000012] yes=71,no=72,missing=71,gain=9.29775715,cover=34"              
  [47] "71:[f11<0.100000001] yes=85,no=86,missing=85,gain=8.4114027,cover=30.75"           
  [48] "85:[f49<0.0914999992] yes=103,no=104,missing=103,gain=10.3703451,cover=20"         
  [49] "103:leaf=-0.0043956046,cover=15.25"                                                
  [50] "104:leaf=0.0703933761,cover=4.75"                                                  
  [51] "86:[f18<2.0999999] yes=105,no=106,missing=105,gain=8.96217537,cover=10.75"         
  [52] "105:leaf=-0.0582010597,cover=8"                                                    
  [53] "106:leaf=0.0317460336,cover=2.75"                                                  
  [54] "72:leaf=0.0728291348,cover=3.25"                                                   
  [55] "56:leaf=0.0840336159,cover=7.5"                                                    
  [56] "42:leaf=0.0884353742,cover=13"                                                     
  [57] "26:leaf=-0.0799999982,cover=5.25"                                                  
  [58] "16:leaf=-0.0864468887,cover=15.25"                                                 
  [59] "4:[f26<0.0250000004] yes=9,no=10,missing=9,gain=49.1412201,cover=91.75"            
  [60] "9:[f54<2.18300009] yes=17,no=18,missing=17,gain=18.7777252,cover=86.25"            
  [61] "17:[f25<0.115000002] yes=27,no=28,missing=27,gain=8.60012436,cover=25.25"          
  [62] "27:[f54<1.29850006] yes=43,no=44,missing=43,gain=8.24489784,cover=23.5"            
  [63] "43:[f18<2.09500003] yes=57,no=58,missing=57,gain=3.73333359,cover=3.5"             
  [64] "57:leaf=-0.0634920672,cover=2"                                                     
  [65] "58:leaf=0.0190476198,cover=1.5"                                                    
  [66] "44:[f55<36.5] yes=59,no=60,missing=59,gain=6.5714283,cover=20"                     
  [67] "59:[f49<0.291999996] yes=73,no=74,missing=73,gain=2.8571434,cover=19"              
  [68] "73:[f2<1.47000003] yes=87,no=88,missing=87,gain=2.1428566,cover=16.5"              
  [69] "87:[f0<0.200000003] yes=107,no=108,missing=107,gain=3.5714283,cover=15"            
  [70] "107:leaf=0.0680272132,cover=13"                                                    
  [71] "108:leaf=-0,cover=2"                                                               
  [72] "88:leaf=-0,cover=1.5"                                                              
  [73] "74:[f15<0.909999967] yes=89,no=90,missing=89,gain=2,cover=2.5"                     
  [74] "89:leaf=0.0317460336,cover=1.25"                                                   
  [75] "90:leaf=-0.0317460336,cover=1.25"                                                  
  [76] "60:leaf=-0.0476190485,cover=1"                                                     
  [77] "28:leaf=-0.0606060624,cover=1.75"                                                  
  [78] "18:[f18<0.610000014] yes=29,no=30,missing=29,gain=5.77859497,cover=61"             
  [79] "29:[f54<2.7249999] yes=45,no=46,missing=45,gain=7.32323217,cover=7.25"             
  [80] "45:leaf=-0.052910056,cover=1.25"                                                   
  [81] "46:[f9<0.144999996] yes=61,no=62,missing=61,gain=1.16666698,cover=6"               
  [82] "61:[f18<0.100000001] yes=75,no=76,missing=75,gain=1.63333321,cover=5"              
  [83] "75:leaf=0.0666666701,cover=4"                                                      
  [84] "76:leaf=-0,cover=1"                                                                
  [85] "62:leaf=-0,cover=1"                                                                
  [86] "30:[f17<2.15999985] yes=47,no=48,missing=47,gain=6.37609863,cover=53.75"           
  [87] "47:[f49<0.127999991] yes=63,no=64,missing=63,gain=2.13282776,cover=52.75"          
  [88] "63:[f18<1.05999994] yes=77,no=78,missing=77,gain=0.800415039,cover=34.75"          
  [89] "77:[f2<0.400000006] yes=91,no=92,missing=91,gain=0.666666627,cover=2"              
  [90] "91:leaf=-0,cover=1"                                                                
  [91] "92:leaf=0.0476190485,cover=1"                                                      
  [92] "78:leaf=0.0895943567,cover=32.75"                                                  
  [93] "64:[f17<0.375] yes=79,no=80,missing=79,gain=7.35269928,cover=18"                   
  [94] "79:[f54<3.94199991] yes=93,no=94,missing=93,gain=1.06476593,cover=15.5"            
  [95] "93:[f18<2.38499999] yes=109,no=110,missing=109,gain=3.13725519,cover=7.5"          
  [96] "109:leaf=0.0634920672,cover=5"                                                     
  [97] "110:leaf=-0,cover=2.5"                                                             
  [98] "94:leaf=0.0846560895,cover=8"                                                      
  [99] "80:[f15<0.965000033] yes=95,no=96,missing=95,gain=1.81428564,cover=2.5"            
 [100] "95:leaf=-0.0380952395,cover=1.5"                                                   
 [101] "96:leaf=0.0238095243,cover=1"                                                      
 [102] "48:leaf=-0.0238095243,cover=1"                                                     
 [103] "10:leaf=-0.0805860832,cover=5.5"                                                   
 [104] "2:[f26<0.0799999982] yes=5,no=6,missing=5,gain=25.7249451,cover=103.25"            
 [105] "5:[f25<0.104999997] yes=11,no=12,missing=11,gain=9.02896118,cover=101.25"          
 [106] "11:[f7<2.13000011] yes=19,no=20,missing=19,gain=3.4239502,cover=99.75"             
 [107] "19:[f9<2.00999999] yes=31,no=32,missing=31,gain=0.246490479,cover=98.75"           
 [108] "31:leaf=0.0889692605,cover=97.75"                                                  
 [109] "32:leaf=0.0238095243,cover=1"                                                      
 [110] "20:leaf=-0,cover=1"                                                                
 [111] "12:leaf=-0.0190476198,cover=1.5"                                                   
 [112] "6:leaf=-0.0634920672,cover=2"                                                      
 [113] "booster[1]"                                                                        
 [114] "0:[f52<0.0304999985] yes=1,no=2,missing=1,gain=727.635864,cover=605.499878"        
 [115] "1:[f15<0.13499999] yes=3,no=4,missing=3,gain=251.304047,cover=440.523438"          
 [116] "3:[f23<0.00999999978] yes=7,no=8,missing=7,gain=74.352417,cover=374.117676"        
 [117] "7:[f54<6.9829998] yes=15,no=16,missing=15,gain=60.2094727,cover=360.639679"        
 [118] "15:[f4<0.629999995] yes=25,no=26,missing=25,gain=20.6796875,cover=350.653046"      
 [119] "25:[f22<0.140000001] yes=41,no=42,missing=41,gain=9.23016357,cover=315.463745"     
 [120] "41:[f5<1.04999995] yes=61,no=62,missing=61,gain=5.69628906,cover=311.968597"       
 [121] "61:[f8<0.805000007] yes=77,no=78,missing=77,gain=4.10559082,cover=307.974121"      
 [122] "77:[f54<3.16699982] yes=91,no=92,missing=91,gain=2.88726807,cover=304.230255"      
 [123] "91:[f56<2.5] yes=99,no=100,missing=99,gain=2.21350098,cover=256.78653"             
 [124] "99:leaf=-0.0243796818,cover=2.49556088"                                            
 [125] "100:leaf=-0.0828087479,cover=254.29097"                                            
 [126] "92:[f18<4.06500006] yes=101,no=102,missing=101,gain=10.0520859,cover=47.4437332"   
 [127] "101:leaf=-0.0686316118,cover=45.9443626"                                           
 [128] "102:leaf=0.0377926491,cover=1.49937344"                                            
 [129] "78:[f8<0.935000002] yes=93,no=94,missing=93,gain=4.85365105,cover=3.74385333"      
 [130] "93:leaf=0.0283082183,cover=1.7474103"                                              
 [131] "94:leaf=-0.0609099828,cover=1.99644303"                                            
 [132] "62:[f54<2.0625] yes=79,no=80,missing=79,gain=5.65626907,cover=3.99448943"          
 [133] "79:leaf=-0.0607873164,cover=1.99615359"                                            
 [134] "80:leaf=0.0325799994,cover=1.99833584"                                             
 [135] "42:[f36<0.0599999987] yes=63,no=64,missing=63,gain=4.45099974,cover=3.49513626"    
 [136] "63:leaf=0.0352765359,cover=2.24714494"                                             
 [137] "64:leaf=-0.0518909357,cover=1.2479912"                                             
 [138] "26:[f17<0.319999993] yes=43,no=44,missing=43,gain=22.7775154,cover=35.1892891"     
 [139] "43:[f54<2.71799994] yes=65,no=66,missing=65,gain=20.7531738,cover=28.7010078"      
 [140] "65:[f7<0.310000002] yes=81,no=82,missing=81,gain=4.97491837,cover=24.7062893"      
 [141] "81:leaf=-0.0761589333,cover=23.4581013"                                            
 [142] "82:leaf=0.0124989171,cover=1.24818897"                                             
 [143] "66:[f49<0.140500009] yes=83,no=84,missing=83,gain=5.59719801,cover=3.99471855"     
 [144] "83:leaf=0.0689528659,cover=2.746943"                                               
 [145] "84:leaf=-0.0304969605,cover=1.24777567"                                            
 [146] "44:[f4<1.125] yes=67,no=68,missing=67,gain=4.06234121,cover=6.48827934"            
 [147] "67:leaf=0.0655134022,cover=3.7431314"                                              
 [148] "68:[f4<2.55999994] yes=85,no=86,missing=85,gain=2.49669719,cover=2.74514771"       
 [149] "85:leaf=-0.0371352807,cover=1.49749029"                                            
 [150] "86:leaf=0.0321862288,cover=1.24765754"                                             
 [151] "16:[f50<0.0520000011] yes=27,no=28,missing=27,gain=8.95179367,cover=9.98664665"    
 [152] "27:[f4<0.129999995] yes=45,no=46,missing=45,gain=2.34873486,cover=8.73872375"      
 [153] "45:leaf=0.0128414389,cover=2.49861574"                                             
 [154] "46:leaf=0.0726751834,cover=6.24010849"                                             
 [155] "28:leaf=-0.0508207045,cover=1.24792242"                                            
 [156] "8:[f44<0.335000008] yes=17,no=18,missing=17,gain=13.2936954,cover=13.4779968"      
 [157] "17:[f56<44] yes=29,no=30,missing=29,gain=6.15799904,cover=11.2314281"              
 [158] "29:leaf=-0.00663369056,cover=2.24762106"                                           
 [159] "30:leaf=0.0778560713,cover=8.98380661"                                             
 [160] "18:leaf=-0.0494143516,cover=2.24656916"                                            
 [161] "4:[f36<0.155000001] yes=9,no=10,missing=9,gain=43.0367775,cover=66.4057617"        
 [162] "9:[f56<71.5] yes=19,no=20,missing=19,gain=13.8356934,cover=56.666584"              
 [163] "19:[f15<1.29500008] yes=31,no=32,missing=31,gain=9.84400654,cover=14.7314777"      
 [164] "31:[f54<2.57500005] yes=47,no=48,missing=47,gain=5.37615347,cover=5.49293804"      
 [165] "47:leaf=-0.0644412562,cover=3.7464242"                                             
 [166] "48:leaf=0.0232984982,cover=1.74651372"                                             
 [167] "32:[f56<15] yes=49,no=50,missing=49,gain=2.85492039,cover=9.2385397"               
 [168] "49:leaf=-0.0067963358,cover=2.24760056"                                            
 [169] "50:[f15<2] yes=69,no=70,missing=69,gain=0.984498024,cover=6.99093962"              
 [170] "69:leaf=0.0136733996,cover=1.99717259"                                             
 [171] "70:leaf=0.0614776462,cover=4.99376678"                                             
 [172] "20:[f44<0.595000029] yes=33,no=34,missing=33,gain=7.58283997,cover=41.9351044"     
 [173] "33:[f24<0.25999999] yes=51,no=52,missing=51,gain=4.51979828,cover=37.6907539"      
 [174] "51:[f17<1.54499996] yes=71,no=72,missing=71,gain=2.98640442,cover=36.442009"       
 [175] "71:[f54<1.25999999] yes=87,no=88,missing=87,gain=1.70517731,cover=34.6936989"      
 [176] "87:leaf=0.0110452119,cover=1.24927473"                                             
 [177] "88:[f44<0.36500001] yes=95,no=96,missing=95,gain=1.16478729,cover=33.4444275"      
 [178] "95:leaf=0.0823824257,cover=29.199913"                                              
 [179] "96:[f15<0.49000001] yes=103,no=104,missing=103,gain=3.26275611,cover=4.24451208"   
 [180] "103:leaf=-0.00956203602,cover=1.74863219"                                          
 [181] "104:leaf=0.0654103681,cover=2.49587965"                                            
 [182] "72:leaf=0.00757208699,cover=1.7483077"                                             
 [183] "52:leaf=-0.0111143133,cover=1.2487458"                                             
 [184] "34:[f15<1.17499995] yes=53,no=54,missing=53,gain=6.86125135,cover=4.24435186"      
 [185] "53:[f15<0.659999967] yes=73,no=74,missing=73,gain=0.27674365,cover=2.49728346"     
 [186] "73:leaf=-0.0116651906,cover=1.24867892"                                            
 [187] "74:leaf=-0.0539749078,cover=1.24860454"                                            
 [188] "54:leaf=0.0583721586,cover=1.74706841"                                             
 [189] "10:[f54<4.83949995] yes=21,no=22,missing=21,gain=7.56612015,cover=9.73917866"      
 [190] "21:[f5<0.0700000003] yes=35,no=36,missing=35,gain=1.78663445,cover=7.99196053"     
 [191] "35:leaf=-0.0814862922,cover=6.74361467"                                            
 [192] "36:leaf=-0.0103558563,cover=1.24834561"                                            
 [193] "22:leaf=0.0244602449,cover=1.74721766"                                             
 [194] "2:[f24<0.38499999] yes=5,no=6,missing=5,gain=144.236908,cover=164.97644"           
 [195] "5:[f25<0.274999976] yes=11,no=12,missing=11,gain=15.4416504,cover=149.999008"      
 [196] "11:[f54<1.96799994] yes=23,no=24,missing=23,gain=11.4613953,cover=148.251205"      
 [197] "23:[f44<0.36500001] yes=37,no=38,missing=37,gain=10.3056374,cover=18.7206745"      
 [198] "37:[f49<0.315500021] yes=55,no=56,missing=55,gain=6.94949722,cover=15.4751301"     
 [199] "55:[f4<0.295000017] yes=75,no=76,missing=75,gain=0.891345978,cover=14.2274981"     
 [200] "75:[f7<0.404999971] yes=89,no=90,missing=89,gain=1.16283083,cover=6.24053574"      
 [201] "89:[f56<164.5] yes=97,no=98,missing=97,gain=1.38736224,cover=3.9937582"            
 [202] "97:leaf=-0.00650865352,cover=2.24667501"                                           
 [203] "98:leaf=0.0415354334,cover=1.74708331"                                             
 [204] "90:leaf=0.0646835938,cover=2.24677753"                                             
 [205] "76:leaf=0.0817231089,cover=7.9869628"                                              
 [206] "56:leaf=-0.030418098,cover=1.24763191"                                             
 [207] "38:[f18<1.81500006] yes=57,no=58,missing=57,gain=1.495543,cover=3.24554396"        
 [208] "57:leaf=-0.0461844578,cover=1.99625826"                                            
 [209] "58:leaf=0.0096332049,cover=1.2492857"                                              
 [210] "24:[f47<0.0350000001] yes=39,no=40,missing=39,gain=3.54589844,cover=129.530533"    
 [211] "39:[f49<0.652500033] yes=59,no=60,missing=59,gain=2.62768555,cover=127.533974"     
 [212] "59:leaf=0.0885355696,cover=126.285309"                                             
 [213] "60:leaf=0.0100343833,cover=1.248667"                                               
 [214] "40:leaf=0.0150343087,cover=1.9965539"                                              
 [215] "12:leaf=-0.0421506017,cover=1.74781096"                                            
 [216] "6:[f17<0.0199999996] yes=13,no=14,missing=13,gain=9.02999496,cover=14.9774208"     
 [217] "13:leaf=-0.0823541805,cover=13.7289476"                                            
 [218] "14:leaf=0.0314980745,cover=1.24847341"                                             
 [219] "booster[2]"                                                                        
 [220] "0:[f51<0.0785000026] yes=1,no=2,missing=1,gain=689.399597,cover=604.922607"        
 [221] "1:[f52<0.0855000019] yes=3,no=4,missing=3,gain=136.562744,cover=350.921936"        
 [222] "3:[f6<0.0700000003] yes=7,no=8,missing=7,gain=71.9536743,cover=322.081604"         
 [223] "7:[f15<0.114999995] yes=15,no=16,missing=15,gain=18.8831177,cover=308.637909"      
 [224] "15:[f21<0.135000005] yes=29,no=30,missing=29,gain=7.37658691,cover=283.963074"     
 [225] "29:[f22<0.350000024] yes=49,no=50,missing=49,gain=5.79736328,cover=280.715363"     
 [226] "49:[f5<1.755] yes=69,no=70,missing=69,gain=4.44927979,cover=277.975586"            
 [227] "69:[f11<5.97000027] yes=83,no=84,missing=83,gain=2.40509033,cover=276.479645"      
 [228] "83:[f13<1.79499996] yes=95,no=96,missing=95,gain=2.16815186,cover=275.235687"      
 [229] "95:[f55<139.5] yes=109,no=110,missing=109,gain=1.08966064,cover=272.747864"        
 [230] "109:leaf=-0.0803790614,cover=269.762482"                                           
 [231] "110:leaf=-0.0329243764,cover=2.98538971"                                           
 [232] "96:[f49<0.0890000015] yes=111,no=112,missing=111,gain=1.80898643,cover=2.48781562" 
 [233] "111:leaf=-0.0494958572,cover=1.24390841"                                           
 [234] "112:leaf=0.0139025794,cover=1.24390721"                                            
 [235] "84:leaf=-0.00701315794,cover=1.24396944"                                           
 [236] "70:leaf=0.00186895125,cover=1.4959234"                                             
 [237] "50:[f5<0.075000003] yes=71,no=72,missing=71,gain=5.71677303,cover=2.73978949"      
 [238] "71:leaf=-0.0548912585,cover=1.49535477"                                            
 [239] "72:leaf=0.0499893874,cover=1.24443483"                                             
 [240] "30:[f1<0.00999999978] yes=51,no=52,missing=51,gain=4.11364985,cover=3.24769354"    
 [241] "51:leaf=0.0329021998,cover=1.99830246"                                             
 [242] "52:leaf=-0.0523667186,cover=1.24939108"                                            
 [243] "16:[f4<1.08999991] yes=31,no=32,missing=31,gain=15.1575537,cover=24.6748314"       
 [244] "31:[f44<0.129999995] yes=53,no=54,missing=53,gain=3.78162384,cover=20.691061"      
 [245] "53:[f24<0.0649999976] yes=73,no=74,missing=73,gain=5.8757,cover=13.7050257"        
 [246] "73:[f15<0.49000001] yes=85,no=86,missing=85,gain=5.80108833,cover=9.71903801"      
 [247] "85:[f2<0.274999976] yes=97,no=98,missing=97,gain=1.15533161,cover=3.7337172"       
 [248] "97:leaf=0.0497398004,cover=2.23850894"                                             
 [249] "98:leaf=-0.000522373826,cover=1.49520826"                                          
 [250] "86:[f15<3.8499999] yes=99,no=100,missing=99,gain=1.78785872,cover=5.98532104"      
 [251] "99:[f55<8.5] yes=113,no=114,missing=113,gain=0.574775219,cover=4.73815346"         
 [252] "113:leaf=-0.0152662909,cover=1.99660349"                                           
 [253] "114:leaf=-0.0585467331,cover=2.74154973"                                           
 [254] "100:leaf=0.0100804362,cover=1.24716771"                                            
 [255] "74:leaf=-0.0722156316,cover=3.98598766"                                            
 [256] "54:leaf=-0.0757794008,cover=6.98603582"                                            
 [257] "32:[f20<0.774999976] yes=55,no=56,missing=55,gain=2.95007229,cover=3.98377085"     
 [258] "55:leaf=-0.0107377889,cover=1.24480593"                                            
 [259] "56:leaf=0.0665763095,cover=2.7389648"                                              
 [260] "8:[f24<0.150000006] yes=17,no=18,missing=17,gain=11.8051329,cover=13.443716"       
 [261] "17:[f55<9.5] yes=33,no=34,missing=33,gain=3.41461372,cover=11.2014666"             
 [262] "33:leaf=-0.000585695147,cover=1.99525082"                                          
 [263] "34:leaf=0.0672354549,cover=9.20621586"                                             
 [264] "18:leaf=-0.0484821051,cover=2.24224949"                                            
 [265] "4:[f24<0.239999995] yes=9,no=10,missing=9,gain=29.6108952,cover=28.8403187"        
 [266] "9:[f55<9.5] yes=19,no=20,missing=19,gain=10.0495682,cover=24.8646584"              
 [267] "19:[f52<0.203999996] yes=35,no=36,missing=35,gain=1.67757225,cover=2.49390268"     
 [268] "35:leaf=-0.0504332036,cover=1.24688053"                                            
 [269] "36:leaf=0.0113905491,cover=1.24702227"                                             
 [270] "20:[f49<0.291999996] yes=37,no=38,missing=37,gain=6.89044571,cover=22.3707561"     
 [271] "37:leaf=0.0742233396,cover=20.8751278"                                             
 [272] "38:leaf=-0.0201958939,cover=1.49562752"                                            
 [273] "10:leaf=-0.070726864,cover=3.97566009"                                             
 [274] "2:[f55<18.5] yes=5,no=6,missing=5,gain=184.583069,cover=254.000702"                
 [275] "5:[f52<0.0120000001] yes=11,no=12,missing=11,gain=69.6656265,cover=96.9849701"     
 [276] "11:[f6<0.25999999] yes=21,no=22,missing=21,gain=48.2731628,cover=76.3371887"       
 [277] "21:[f15<1.27999997] yes=39,no=40,missing=39,gain=33.9984856,cover=67.8696671"      
 [278] "39:[f51<0.779000044] yes=57,no=58,missing=57,gain=14.7715607,cover=62.3901138"     
 [279] "57:[f4<0.355000019] yes=75,no=76,missing=75,gain=10.3661728,cover=48.9578705"      
 [280] "75:[f18<5.90499973] yes=87,no=88,missing=87,gain=5.23381805,cover=39.746254"       
 [281] "87:[f10<0.125] yes=101,no=102,missing=101,gain=2.26559448,cover=38.4998474"        
 [282] "101:leaf=-0.0811866149,cover=37.2546349"                                           
 [283] "102:leaf=-0.00838435348,cover=1.24521542"                                          
 [284] "88:leaf=0.0116640758,cover=1.24640608"                                             
 [285] "76:[f44<0.25] yes=89,no=90,missing=89,gain=7.89983702,cover=9.21161461"            
 [286] "89:[f2<0.0599999987] yes=103,no=104,missing=103,gain=5.7839756,cover=5.97940636"   
 [287] "103:[f49<0.101499997] yes=115,no=116,missing=115,gain=2.16881323,cover=3.23477054" 
 [288] "115:leaf=0.0103868796,cover=1.74136364"                                            
 [289] "116:leaf=-0.0540913641,cover=1.49340689"                                           
 [290] "104:leaf=0.0567364432,cover=2.74463582"                                            
 [291] "90:leaf=-0.0679204091,cover=3.23220778"                                            
 [292] "58:[f44<0.784999967] yes=77,no=78,missing=77,gain=5.03041506,cover=13.4322433"     
 [293] "77:[f18<0.620000005] yes=91,no=92,missing=91,gain=4.38835478,cover=10.4507713"     
 [294] "91:[f51<1.52699995] yes=105,no=106,missing=105,gain=1.79689372,cover=4.22432804"   
 [295] "105:[f51<0.953500032] yes=117,no=118,missing=117,gain=0.648094654,cover=2.98142815"
 [296] "117:leaf=-0.00718426798,cover=1.24412298"                                          
 [297] "118:leaf=-0.055701755,cover=1.73730528"                                            
 [298] "106:leaf=0.0145437503,cover=1.24289989"                                            
 [299] "92:[f51<0.861000001] yes=107,no=108,missing=107,gain=2.69151974,cover=6.22644281"  
 [300] "107:leaf=-0.0165394321,cover=1.49293303"                                           
 [301] "108:[f51<3.39050007] yes=119,no=120,missing=119,gain=0.243254662,cover=4.73351002" 
 [302] "119:leaf=0.0532473959,cover=3.48880768"                                            
 [303] "120:leaf=0.0130606499,cover=1.24470222"                                            
 [304] "78:leaf=-0.0543717146,cover=2.98147249"                                            
 [305] "40:[f51<0.236499995] yes=59,no=60,missing=59,gain=1.30806923,cover=5.47955084"     
 [306] "59:leaf=0.00950985588,cover=1.24590182"                                            
 [307] "60:leaf=0.0729053468,cover=4.23364925"                                             
 [308] "22:[f18<0.720000029] yes=41,no=42,missing=41,gain=1.63842773,cover=8.46752548"     
 [309] "41:leaf=0.0107238395,cover=1.24800253"                                             
 [310] "42:leaf=0.0794843361,cover=7.21952248"                                             
 [311] "12:[f55<6.5] yes=23,no=24,missing=23,gain=4.41383743,cover=20.6477814"             
 [312] "23:leaf=-0.000658857403,cover=1.98919165"                                          
 [313] "24:[f18<0.290000021] yes=43,no=44,missing=43,gain=0.77425766,cover=18.6585903"     
 [314] "43:leaf=0.0232211072,cover=1.74281502"                                             
 [315] "44:[f8<0.420000017] yes=61,no=62,missing=61,gain=0.506996155,cover=16.9157753"     
 [316] "61:leaf=0.0811675787,cover=14.9228935"                                             
 [317] "62:leaf=0.0293264706,cover=1.99288142"                                             
 [318] "6:[f24<0.409999996] yes=13,no=14,missing=13,gain=35.1903992,cover=157.015732"      
 [319] "13:[f20<0.414999992] yes=25,no=26,missing=25,gain=8.53338623,cover=152.532776"     
 [320] "25:[f51<0.379999995] yes=45,no=46,missing=45,gain=8.49247742,cover=22.3985634"     
 [321] "45:[f52<0.00850000046] yes=63,no=64,missing=63,gain=8.2210741,cover=9.20887375"    
 [322] "63:[f15<0.284999996] yes=79,no=80,missing=79,gain=6.72389746,cover=5.72662163"     
 [323] "79:[f11<0.189999998] yes=93,no=94,missing=93,gain=0.890336514,cover=3.98413205"    
 [324] "93:leaf=-0.00987444166,cover=1.24404383"                                           
 [325] "94:leaf=-0.0662995651,cover=2.74008822"                                            
 [326] "80:leaf=0.040128503,cover=1.7424897"                                               
 [327] "64:leaf=0.0596769713,cover=3.48225188"                                             
 [328] "46:[f20<0.280000001] yes=65,no=66,missing=65,gain=0.774101257,cover=13.1896896"    
 [329] "65:leaf=0.0755630955,cover=11.4495935"                                             
 [330] "66:leaf=0.0221464802,cover=1.74009573"                                             
 [331] "26:[f24<0.155000001] yes=47,no=48,missing=47,gain=2.48550415,cover=130.134216"     
 [332] "47:[f18<0.0799999982] yes=67,no=68,missing=67,gain=0.468231201,cover=127.894424"   
 [333] "67:[f49<0.265500009] yes=81,no=82,missing=81,gain=2.73564482,cover=3.97826147"     
 [334] "81:leaf=0.0646365583,cover=2.73173094"                                             
 [335] "82:leaf=-0.00999665819,cover=1.24653053"                                           
 [336] "68:leaf=0.0850202292,cover=123.916168"                                             
 [337] "48:leaf=0.0211956482,cover=2.23978972"                                             
 [338] "14:[f52<0.0305000003] yes=27,no=28,missing=27,gain=0.715229511,cover=4.4829545"    
 [339] "27:leaf=-0.0583592281,cover=3.2391057"                                             
 [340] "28:leaf=-0.00865621958,cover=1.24384904"                                           
 [341] "booster[3]"                                                                        
 [342] "0:[f51<0.0785000026] yes=1,no=2,missing=1,gain=624.076782,cover=588.748779"        
 [343] "1:[f6<0.0199999996] yes=3,no=4,missing=3,gain=150.420532,cover=341.597198"         
 [344] "3:[f23<0.0350000001] yes=7,no=8,missing=7,gain=50.0408936,cover=317.835327"        
 [345] "7:[f15<0.170000002] yes=15,no=16,missing=15,gain=20.8162231,cover=303.961304"      
 [346] "15:[f21<0.135000005] yes=29,no=30,missing=29,gain=5.57080078,cover=283.575409"     
 [347] "29:[f13<1.79499996] yes=47,no=48,missing=47,gain=2.51080322,cover=279.831512"      
 [348] "47:[f17<3.32999992] yes=67,no=68,missing=67,gain=2.23919678,cover=276.602051"      
 [349] "67:[f54<4.48799992] yes=89,no=90,missing=89,gain=1.18359375,cover=275.363831"      
 [350] "89:leaf=-0.0777789503,cover=262.474182"                                            
 [351] "90:[f1<0.159999996] yes=101,no=102,missing=101,gain=1.06939697,cover=12.8896618"   
 [352] "101:[f54<4.78849983] yes=109,no=110,missing=109,gain=1.43394279,cover=10.9085579"  
 [353] "109:leaf=-0.0130249038,cover=1.98558581"                                           
 [354] "110:leaf=-0.0656220615,cover=8.92297268"                                           
 [355] "102:leaf=-0.012254511,cover=1.98110378"                                            
 [356] "68:leaf=-0.00668866094,cover=1.23820841"                                           
 [357] "48:[f13<2.61999989] yes=69,no=70,missing=69,gain=4.51277637,cover=3.22946453"      
 [358] "69:leaf=0.0327259302,cover=1.24301982"                                             
 [359] "70:leaf=-0.0586781465,cover=1.98644471"                                            
 [360] "30:[f51<0.0445000008] yes=49,no=50,missing=49,gain=5.10297823,cover=3.74390078"    
 [361] "49:leaf=0.0321601406,cover=1.99820018"                                             
 [362] "50:leaf=-0.0582681,cover=1.74570072"                                               
 [363] "16:[f49<0.0844999999] yes=31,no=32,missing=31,gain=5.86423635,cover=20.3858871"    
 [364] "31:[f49<0.0194999985] yes=51,no=52,missing=51,gain=11.7069187,cover=11.932538"     
 [365] "51:[f54<1.80599999] yes=71,no=72,missing=71,gain=2.31306505,cover=8.21798706"      
 [366] "71:[f15<2.06500006] yes=91,no=92,missing=91,gain=2.29597425,cover=4.73423815"      
 [367] "91:leaf=-0.0691730231,cover=3.23864269"                                            
 [368] "92:leaf=-0.000327789428,cover=1.49559522"                                          
 [369] "72:[f55<27] yes=93,no=94,missing=93,gain=5.76076651,cover=3.48374915"              
 [370] "93:leaf=0.043294955,cover=1.98826265"                                              
 [371] "94:leaf=-0.0547234267,cover=1.49548662"                                            
 [372] "52:leaf=0.0595811047,cover=3.7145505"                                              
 [373] "32:[f2<0.50999999] yes=53,no=54,missing=53,gain=2.74225998,cover=8.45334911"       
 [374] "53:[f15<0.810000002] yes=73,no=74,missing=73,gain=1.26352501,cover=7.20866346"     
 [375] "73:leaf=-0.0745116994,cover=4.9711833"                                             
 [376] "74:leaf=-0.0197672285,cover=2.23748016"                                            
 [377] "54:leaf=0.00807779934,cover=1.24468565"                                            
 [378] "8:[f49<0.0729999989] yes=17,no=18,missing=17,gain=16.4609451,cover=13.8740311"     
 [379] "17:[f50<0.00499999989] yes=33,no=34,missing=33,gain=1.03167152,cover=8.90846634"   
 [380] "33:[f24<0.0250000004] yes=55,no=56,missing=55,gain=1.33690834,cover=7.66970158"    
 [381] "55:leaf=0.0697023124,cover=6.43332624"                                             
 [382] "56:leaf=0.0083600143,cover=1.23637533"                                             
 [383] "34:leaf=0.00793683995,cover=1.238765"                                              
 [384] "18:[f54<4.15450001] yes=35,no=36,missing=35,gain=2.55525351,cover=4.96556425"      
 [385] "35:leaf=-0.0608112551,cover=3.72483969"                                            
 [386] "36:leaf=0.00943190884,cover=1.2407248"                                             
 [387] "4:[f26<0.109999999] yes=9,no=10,missing=9,gain=17.6271477,cover=23.7618694"        
 [388] "9:[f24<0.274999976] yes=19,no=20,missing=19,gain=2.75849915,cover=21.7731228"      
 [389] "19:[f55<9.5] yes=37,no=38,missing=37,gain=2.43003082,cover=20.2776852"             
 [390] "37:leaf=0.0135879666,cover=1.99381018"                                             
 [391] "38:leaf=0.076996848,cover=18.2838745"                                              
 [392] "20:leaf=0.00282492186,cover=1.4954375"                                             
 [393] "10:leaf=-0.0600437,cover=1.9887476"                                                
 [394] "2:[f55<17.5] yes=5,no=6,missing=5,gain=167.022537,cover=247.151566"                
 [395] "5:[f15<0.295000017] yes=11,no=12,missing=11,gain=52.0200615,cover=89.5504227"      
 [396] "11:[f6<0.0700000003] yes=21,no=22,missing=21,gain=31.2267094,cover=67.7447662"     
 [397] "21:[f54<3.296] yes=39,no=40,missing=39,gain=24.4002113,cover=61.5479622"           
 [398] "39:[f16<0.329999983] yes=57,no=58,missing=57,gain=16.1378403,cover=58.3181343"     
 [399] "57:[f51<1.28299999] yes=75,no=76,missing=75,gain=7.0642395,cover=52.8561134"       
 [400] "75:[f17<0.379999995] yes=95,no=96,missing=95,gain=4.23246002,cover=48.6305885"     
 [401] "95:[f51<0.477999985] yes=103,no=104,missing=103,gain=0.867202759,cover=40.7316246" 
 [402] "103:leaf=-0.0764045492,cover=28.1217175"                                           
 [403] "104:[f55<7.5] yes=111,no=112,missing=111,gain=2.92728043,cover=12.60991"           
 [404] "111:leaf=-0.0689148456,cover=6.91220903"                                           
 [405] "112:leaf=-0.0193070155,cover=5.6977005"                                            
 [406] "96:[f17<0.720000029] yes=105,no=106,missing=105,gain=12.1116123,cover=7.89896345"  
 [407] "105:[f2<0.349999994] yes=113,no=114,missing=113,gain=1.98879123,cover=3.22197628"  
 [408] "113:leaf=-0.00743349455,cover=1.23644364"                                          
 [409] "114:leaf=0.0591642857,cover=1.98553252"                                            
 [410] "106:leaf=-0.0698255375,cover=4.67698717"                                           
 [411] "76:[f54<1.32550001] yes=97,no=98,missing=97,gain=1.86812901,cover=4.22552443"      
 [412] "97:leaf=-0.0265362076,cover=1.98472643"                                            
 [413] "98:leaf=0.0256816912,cover=2.240798"                                               
 [414] "58:[f24<0.324999988] yes=77,no=78,missing=77,gain=10.6260166,cover=5.46202087"     
 [415] "77:leaf=0.0645060092,cover=3.73238349"                                             
 [416] "78:leaf=-0.0547006242,cover=1.72963727"                                            
 [417] "40:leaf=0.0701248124,cover=3.2298274"                                              
 [418] "22:leaf=0.0626681969,cover=6.19680738"                                             
 [419] "12:[f51<0.119000003] yes=23,no=24,missing=23,gain=6.85263824,cover=21.8056564"     
 [420] "23:leaf=-0.0208840184,cover=2.23040128"                                            
 [421] "24:[f55<4.5] yes=41,no=42,missing=41,gain=3.42212677,cover=19.5752544"             
 [422] "41:leaf=1.27744479e-05,cover=1.98830438"                                           
 [423] "42:[f49<0.33950001] yes=59,no=60,missing=59,gain=0.881706238,cover=17.5869503"     
 [424] "59:[f12<0.0949999988] yes=79,no=80,missing=79,gain=0.584262848,cover=15.111351"    
 [425] "79:leaf=0.0746534765,cover=13.3700171"                                             
 [426] "80:leaf=0.0235321466,cover=1.74133444"                                             
 [427] "60:[f51<0.324000001] yes=81,no=82,missing=81,gain=0.0198047757,cover=2.47559857"   
 [428] "81:leaf=0.0295867808,cover=1.2371887"                                              
 [429] "82:leaf=0.00830188207,cover=1.23840988"                                            
 [430] "6:[f24<0.344999999] yes=13,no=14,missing=13,gain=33.0574036,cover=157.601151"      
 [431] "13:[f54<2.93350005] yes=25,no=26,missing=25,gain=8.57696533,cover=152.136871"      
 [432] "25:[f51<0.291999996] yes=43,no=44,missing=43,gain=7.75037766,cover=30.3923931"     
 [433] "43:[f16<0.00999999978] yes=61,no=62,missing=61,gain=7.40074921,cover=13.3594875"   
 [434] "61:[f23<0.0799999982] yes=83,no=84,missing=83,gain=5.90495396,cover=9.65719604"    
 [435] "83:[f6<0.224999994] yes=99,no=100,missing=99,gain=6.16946507,cover=7.18802786"     
 [436] "99:[f55<21] yes=107,no=108,missing=107,gain=2.7890029,cover=5.95612288"            
 [437] "107:leaf=0.0109646153,cover=1.24035704"                                            
 [438] "108:leaf=-0.0603096113,cover=4.71576595"                                           
 [439] "100:leaf=0.0469491072,cover=1.23190463"                                            
 [440] "84:leaf=0.0478798598,cover=2.46916795"                                             
 [441] "62:leaf=0.0677964538,cover=3.70229197"                                             
 [442] "44:[f54<1.79400003] yes=63,no=64,missing=63,gain=1.89260101,cover=17.0329056"      
 [443] "63:leaf=0.00625334959,cover=1.23964179"                                            
 [444] "64:[f54<2.88400006] yes=85,no=86,missing=85,gain=1.86385727,cover=15.7932634"      
 [445] "85:leaf=0.0773158371,cover=14.5552549"                                             
 [446] "86:leaf=0.00865286496,cover=1.23800862"                                            
 [447] "26:[f48<0.778999984] yes=45,no=46,missing=45,gain=5.32922363,cover=121.744476"     
 [448] "45:[f41<0.119999997] yes=65,no=66,missing=65,gain=0.15713501,cover=120.508026"     
 [449] "65:[f11<2.61500001] yes=87,no=88,missing=87,gain=0.00341796875,cover=119.278679"   
 [450] "87:leaf=0.0811705813,cover=118.045425"                                             
 [451] "88:leaf=0.0267668199,cover=1.23325491"                                             
 [452] "66:leaf=0.0251773465,cover=1.22934616"                                             
 [453] "46:leaf=-0.0109286662,cover=1.23645461"                                            
 [454] "14:[f15<0.74000001] yes=27,no=28,missing=27,gain=9.65584564,cover=5.46427441"      
 [455] "27:leaf=-0.0711608082,cover=4.21730804"                                            
 [456] "28:leaf=0.0505645685,cover=1.2469666"                                              
 [457] "booster[4]"                                                                        
 [458] "0:[f52<0.0555000007] yes=1,no=2,missing=1,gain=596.560303,cover=585.826843"        
 [459] "1:[f6<0.0649999976] yes=3,no=4,missing=3,gain=210.935638,cover=440.175964"         
 [460] "3:[f15<0.295000017] yes=7,no=8,missing=7,gain=122.710144,cover=401.657013"         
 [461] "7:[f23<0.00999999978] yes=15,no=16,missing=15,gain=45.4223633,cover=358.229828"    
 [462] "15:[f10<0.219999999] yes=23,no=24,missing=23,gain=13.492981,cover=343.943695"      
 [463] "23:[f24<0.0299999993] yes=33,no=34,missing=33,gain=9.61889648,cover=335.086975"    
 [464] "33:[f55<12.5] yes=47,no=48,missing=47,gain=24.495575,cover=220.152237"             
 [465] "47:[f16<0.135000005] yes=59,no=60,missing=59,gain=5.65133667,cover=159.113602"     
 [466] "59:[f22<0.549999952] yes=73,no=74,missing=73,gain=1.84967041,cover=155.41478"      
 [467] "73:leaf=-0.0741220862,cover=154.16983"                                             
 [468] "74:leaf=-0.00831124838,cover=1.24493897"                                           
 [469] "60:[f18<1.29999995] yes=75,no=76,missing=75,gain=2.64821172,cover=3.69882703"      
 [470] "75:leaf=-0.0404176563,cover=1.95860636"                                            
 [471] "76:leaf=0.0250731986,cover=1.74022067"                                             
 [472] "48:[f45<0.0450000018] yes=61,no=62,missing=61,gain=11.9162865,cover=61.0386314"    
 [473] "61:[f26<0.0850000009] yes=77,no=78,missing=77,gain=15.3074656,cover=43.1256943"    
 [474] "77:[f1<0.0749999955] yes=85,no=86,missing=85,gain=9.96469975,cover=33.5707092"     
 [475] "85:leaf=0.00566601427,cover=28.8908978"                                            
 [476] "86:leaf=-0.0631838739,cover=4.67980909"                                            
 [477] "78:leaf=-0.0714203566,cover=9.55498695"                                            
 [478] "62:[f49<0.297500014] yes=79,no=80,missing=79,gain=8.13191223,cover=17.9129353"     
 [479] "79:leaf=-0.0769579411,cover=16.4344673"                                            
 [480] "80:leaf=0.0255006868,cover=1.47846735"                                             
 [481] "34:leaf=-0.0810545236,cover=114.934753"                                            
 [482] "24:[f1<0.394999981] yes=35,no=36,missing=35,gain=5.00277901,cover=8.85671329"      
 [483] "35:[f52<0.00949999969] yes=49,no=50,missing=49,gain=6.38903046,cover=7.61622524"   
 [484] "49:[f10<0.949999988] yes=63,no=64,missing=63,gain=1.36453247,cover=5.89572048"     
 [485] "63:leaf=-0.0588362738,cover=4.16939354"                                            
 [486] "64:leaf=-0.00600962294,cover=1.72632694"                                           
 [487] "50:leaf=0.0412374698,cover=1.72050488"                                             
 [488] "36:leaf=0.0559201092,cover=1.24048793"                                             
 [489] "16:[f45<0.0799999982] yes=25,no=26,missing=25,gain=10.6343689,cover=14.2861328"    
 [490] "25:[f24<0.49000001] yes=37,no=38,missing=37,gain=13.5664778,cover=12.0559101"      
 [491] "37:[f55<9] yes=51,no=52,missing=51,gain=6.63818169,cover=10.0777941"               
 [492] "51:leaf=-0.0277756229,cover=1.23945427"                                            
 [493] "52:leaf=0.0720474273,cover=8.83833981"                                             
 [494] "38:leaf=-0.0583580062,cover=1.97811615"                                            
 [495] "26:leaf=-0.0608948879,cover=2.23022318"                                            
 [496] "8:[f26<0.38499999] yes=17,no=18,missing=17,gain=22.3846645,cover=43.4271927"       
 [497] "17:[f45<0.100000001] yes=27,no=28,missing=27,gain=13.365099,cover=38.9767036"      
 [498] "27:[f55<10] yes=39,no=40,missing=39,gain=9.25891113,cover=34.7487526"              
 [499] "39:[f15<1.03499997] yes=53,no=54,missing=53,gain=4.71701431,cover=6.96017027"      
 [500] "53:[f56<71.5] yes=65,no=66,missing=65,gain=2.12921429,cover=3.47748947"            
 [501] "65:leaf=-0.0608593971,cover=2.23341298"                                            
 [502] "66:leaf=0.00730456412,cover=1.24407661"                                            
 [503] "54:[f55<4.5] yes=67,no=68,missing=67,gain=0.32680285,cover=3.48268056"             
 [504] "67:leaf=0.00755546661,cover=1.74579895"                                            
 [505] "68:leaf=0.0398023203,cover=1.73688161"                                             
 [506] "40:[f24<0.25] yes=55,no=56,missing=55,gain=8.27316284,cover=27.7885818"            
 [507] "55:[f17<0.194999993] yes=69,no=70,missing=69,gain=2.80357361,cover=25.8043804"     
 [508] "69:[f56<42] yes=81,no=82,missing=81,gain=1.570755,cover=18.4338932"                
 [509] "81:[f56<32.5] yes=87,no=88,missing=87,gain=1.58893752,cover=2.47279763"            
 [510] "87:leaf=0.0478643477,cover=1.23647594"                                             
 [511] "88:leaf=-0.012063059,cover=1.23632169"                                             
 [512] "82:leaf=0.0770608261,cover=15.9610949"                                             
 [513] "70:[f49<0.141499996] yes=83,no=84,missing=83,gain=8.04934216,cover=7.37048721"     
 [514] "83:[f18<3.30999994] yes=89,no=90,missing=89,gain=3.93698597,cover=6.12286663"      
 [515] "89:leaf=0.0688159987,cover=4.88601017"                                             
 [516] "90:leaf=-0.0147530353,cover=1.23685658"                                            
 [517] "84:leaf=-0.0533950105,cover=1.24762034"                                            
 [518] "56:leaf=-0.0284871068,cover=1.98420131"                                            
 [519] "28:[f15<0.549999952] yes=41,no=42,missing=41,gain=2.33258581,cover=4.22795343"     
 [520] "41:leaf=0.00944261532,cover=1.24128246"                                            
 [521] "42:leaf=-0.0588317141,cover=2.98667073"                                            
 [522] "18:leaf=-0.0710096508,cover=4.45048952"                                            
 [523] "4:[f26<0.140000001] yes=9,no=10,missing=9,gain=17.6122513,cover=38.5189285"        
 [524] "9:[f52<0.0464999974] yes=19,no=20,missing=19,gain=5.24456024,cover=36.5425415"     
 [525] "19:[f32<0.210000008] yes=29,no=30,missing=29,gain=2.1934433,cover=35.318203"       
 [526] "29:[f24<0.0450000018] yes=43,no=44,missing=43,gain=1.69458008,cover=34.0860405"    
 [527] "43:leaf=0.0759857446,cover=32.8386307"                                             
 [528] "44:leaf=0.0100697447,cover=1.24740934"                                             
 [529] "30:leaf=0.00496745529,cover=1.23216355"                                            
 [530] "20:leaf=-0.0168595798,cover=1.22433853"                                            
 [531] "10:leaf=-0.0572420359,cover=1.97638667"                                            
 [532] "2:[f24<0.399999976] yes=5,no=6,missing=5,gain=49.9311218,cover=145.650864"         
 [533] "5:[f45<0.639999986] yes=11,no=12,missing=11,gain=15.6723328,cover=139.025162"      
 [534] "11:[f55<4.5] yes=21,no=22,missing=21,gain=12.3943481,cover=137.53334"              
 [535] "21:leaf=-0.047892753,cover=1.23725557"                                             
 [536] "22:[f26<0.210000008] yes=31,no=32,missing=31,gain=8.43725586,cover=136.296082"     
 [537] "31:[f49<0.652500033] yes=45,no=46,missing=45,gain=3.39312744,cover=135.066406"     
 [538] "45:[f24<0.199999988] yes=57,no=58,missing=57,gain=1.10760498,cover=133.323914"     
 [539] "57:leaf=0.0784110725,cover=130.356247"                                             
 [540] "58:[f2<1.11500001] yes=71,no=72,missing=71,gain=2.10048294,cover=2.96767735"       
 [541] "71:leaf=-0.0118471812,cover=1.23480511"                                            
 [542] "72:leaf=0.0553621762,cover=1.73287225"                                             
 [543] "46:leaf=0.00662600575,cover=1.74249053"                                            
 [544] "32:leaf=-0.0295839366,cover=1.22966909"                                            
 [545] "12:leaf=-0.0548749156,cover=1.4918263"                                             
 [546] "6:[f9<0.115000002] yes=13,no=14,missing=13,gain=2.28522587,cover=6.62570667"       
 [547] "13:leaf=-0.0693110675,cover=4.89466047"                                            
 [548] "14:leaf=-0.0043734163,cover=1.73104632"                                            
 [549] "booster[5]"                                                                        
 [550] "0:[f52<0.0434999987] yes=1,no=2,missing=1,gain=508.449768,cover=597.746033"        
 [551] "1:[f6<0.0299999993] yes=3,no=4,missing=3,gain=219.928741,cover=447.051483"         
 [552] "3:[f15<0.295000017] yes=7,no=8,missing=7,gain=93.7509766,cover=406.289612"         
 [553] "7:[f23<0.00999999978] yes=15,no=16,missing=15,gain=43.5281982,cover=362.37677"     
 [554] "15:[f24<0.0299999993] yes=23,no=24,missing=23,gain=11.8459473,cover=349.90332"     
 [555] "23:[f55<12.5] yes=33,no=34,missing=33,gain=28.014679,cover=235.612625"             
 [556] "33:[f10<0.25999999] yes=49,no=50,missing=49,gain=8.73455811,cover=169.717682"      
 [557] "49:[f22<0.344999999] yes=67,no=68,missing=67,gain=1.84100342,cover=168.47934"      
 [558] "67:[f11<5.19000006] yes=81,no=82,missing=81,gain=1.10580444,cover=167.240158"      
 [559] "81:[f55<10.5] yes=95,no=96,missing=95,gain=0.38369751,cover=165.533585"            
 [560] "95:leaf=-0.0717453137,cover=153.215729"                                            
 [561] "96:leaf=-0.0499908663,cover=12.3178444"                                            
 [562] "82:leaf=-0.0177970473,cover=1.70657718"                                            
 [563] "68:leaf=-0.00623460393,cover=1.23919165"                                           
 [564] "50:leaf=0.0357006788,cover=1.23833072"                                             
 [565] "34:[f36<0.194999993] yes=51,no=52,missing=51,gain=13.361208,cover=65.8949509"      
 [566] "51:[f44<0.275000006] yes=69,no=70,missing=69,gain=10.4722939,cover=50.0305328"     
 [567] "69:[f26<0.0399999991] yes=83,no=84,missing=83,gain=12.0243769,cover=41.7472649"    
 [568] "83:[f20<0.610000014] yes=97,no=98,missing=97,gain=8.87806702,cover=35.4452209"     
 [569] "97:leaf=-0.0143138254,cover=22.8751507"                                            
 [570] "98:leaf=0.033934854,cover=12.5700703"                                              
 [571] "84:leaf=-0.0637696683,cover=6.30204582"                                            
 [572] "70:leaf=-0.0643068328,cover=8.28326702"                                            
 [573] "52:[f36<1.83999991] yes=71,no=72,missing=71,gain=5.16641617,cover=15.8644152"      
 [574] "71:leaf=-0.0777504146,cover=13.8940105"                                            
 [575] "72:leaf=0.00288101938,cover=1.97040486"                                            
 [576] "24:[f56<2038.5] yes=35,no=36,missing=35,gain=0.300720215,cover=114.290695"         
 [577] "35:[f22<0.105000004] yes=53,no=54,missing=53,gain=0.156311035,cover=113.080528"    
 [578] "53:leaf=-0.0791282207,cover=111.869255"                                            
 [579] "54:leaf=-0.0243669432,cover=1.21127391"                                            
 [580] "36:leaf=-0.0228758082,cover=1.21016335"                                            
 [581] "16:[f24<0.49000001] yes=25,no=26,missing=25,gain=8.55020523,cover=12.4734573"      
 [582] "25:[f49<0.0815000013] yes=37,no=38,missing=37,gain=4.95852947,cover=10.746542"     
 [583] "37:leaf=0.0619333498,cover=6.82739305"                                             
 [584] "38:[f56<110] yes=55,no=56,missing=55,gain=4.61223602,cover=3.9191494"              
 [585] "55:leaf=-0.0519720949,cover=1.48026979"                                            
 [586] "56:[f12<0.0700000003] yes=73,no=74,missing=73,gain=0.372016072,cover=2.43887949"   
 [587] "73:leaf=0.00621121051,cover=1.22187507"                                            
 [588] "74:leaf=0.0453526191,cover=1.21700454"                                             
 [589] "26:leaf=-0.054831557,cover=1.72691464"                                             
 [590] "8:[f26<0.38499999] yes=17,no=18,missing=17,gain=13.7725687,cover=43.9128494"       
 [591] "17:[f41<0.125] yes=27,no=28,missing=27,gain=7.54208279,cover=40.2327156"           
 [592] "27:[f44<0.605000019] yes=39,no=40,missing=39,gain=5.93320274,cover=38.4949303"     
 [593] "39:[f56<79.5] yes=57,no=58,missing=57,gain=4.67481422,cover=33.8062363"            
 [594] "57:[f15<1.28999996] yes=75,no=76,missing=75,gain=7.37915134,cover=12.3660164"      
 [595] "75:[f56<57.5] yes=85,no=86,missing=85,gain=1.14114237,cover=5.20718002"            
 [596] "85:leaf=-0.0504332297,cover=2.47129965"                                            
 [597] "86:[f55<11.5] yes=99,no=100,missing=99,gain=1.39369559,cover=2.73588061"           
 [598] "99:leaf=0.0195412915,cover=1.49050164"                                             
 [599] "100:leaf=-0.0324635878,cover=1.24537909"                                           
 [600] "76:[f55<4.5] yes=87,no=88,missing=87,gain=1.70775843,cover=7.15883589"             
 [601] "87:leaf=-0.000949524168,cover=1.9930861"                                           
 [602] "88:[f55<14.5] yes=101,no=102,missing=101,gain=0.870436668,cover=5.16575003"        
 [603] "101:leaf=0.0584340319,cover=3.93255448"                                            
 [604] "102:leaf=0.00701635377,cover=1.23319542"                                           
 [605] "58:[f24<0.400000006] yes=77,no=78,missing=77,gain=4.71152496,cover=21.440218"      
 [606] "77:[f17<0.194999993] yes=89,no=90,missing=89,gain=3.401474,cover=20.1990261"       
 [607] "89:[f1<0.219999999] yes=103,no=104,missing=103,gain=2.11026573,cover=12.3842335"   
 [608] "103:leaf=0.0715068579,cover=11.1628094"                                            
 [609] "104:leaf=0.00314736296,cover=1.22142494"                                           
 [610] "90:[f1<0.0700000003] yes=105,no=106,missing=105,gain=5.5844512,cover=7.81479263"   
 [611] "105:leaf=-0.0225393586,cover=3.21028066"                                           
 [612] "106:leaf=0.0512508154,cover=4.60451174"                                            
 [613] "78:leaf=-0.0284308251,cover=1.24119198"                                            
 [614] "40:[f15<1.07500005] yes=59,no=60,missing=59,gain=8.03460217,cover=4.68869591"      
 [615] "59:leaf=-0.0655433908,cover=2.73028636"                                            
 [616] "60:leaf=0.0407004356,cover=1.95840931"                                             
 [617] "28:leaf=-0.0577685796,cover=1.73778701"                                            
 [618] "18:leaf=-0.0663715824,cover=3.68013287"                                            
 [619] "4:[f26<0.140000001] yes=9,no=10,missing=9,gain=19.4047546,cover=40.7618523"        
 [620] "9:[f0<0.694999993] yes=19,no=20,missing=19,gain=1.99549103,cover=38.5551796"       
 [621] "19:[f20<0.254999995] yes=29,no=30,missing=29,gain=0.72102356,cover=37.3301926"     
 [622] "29:[f6<0.550000012] yes=41,no=42,missing=41,gain=2.31702709,cover=6.63244343"      
 [623] "41:leaf=-0.00663308334,cover=1.47511232"                                           
 [624] "42:[f11<0.754999995] yes=61,no=62,missing=61,gain=0.761068344,cover=5.15733099"    
 [625] "61:leaf=0.0660578683,cover=3.67545581"                                             
 [626] "62:leaf=0.0139469169,cover=1.48187542"                                             
 [627] "30:[f17<1.755] yes=43,no=44,missing=43,gain=0.131408691,cover=30.6977501"          
 [628] "43:leaf=0.0767412707,cover=29.4796562"                                             
 [629] "44:leaf=0.0237014443,cover=1.21809328"                                             
 [630] "20:leaf=0.00489485078,cover=1.22498512"                                            
 [631] "10:leaf=-0.0577083044,cover=2.20667553"                                            
 [632] "2:[f24<0.38499999] yes=5,no=6,missing=5,gain=69.3749237,cover=150.69458"           
 [633] "5:[f41<0.189999998] yes=11,no=12,missing=11,gain=15.082428,cover=139.513489"       
 [634] "11:[f26<0.210000008] yes=21,no=22,missing=21,gain=11.4065857,cover=137.543793"     
 [635] "21:[f36<0.454999983] yes=31,no=32,missing=31,gain=8.5880127,cover=136.312454"      
 [636] "31:[f24<0.199999988] yes=45,no=46,missing=45,gain=3.04562378,cover=132.645355"     
 [637] "45:[f55<5.5] yes=63,no=64,missing=63,gain=2.45614624,cover=129.930283"             
 [638] "63:leaf=0.0101295337,cover=1.73856366"                                             
 [639] "64:[f49<0.430000007] yes=79,no=80,missing=79,gain=1.27734375,cover=128.191711"     
 [640] "79:[f52<0.0535000004] yes=91,no=92,missing=91,gain=0.544403076,cover=125.481659"   
 [641] "91:[f0<0.0250000004] yes=107,no=108,missing=107,gain=2.57379532,cover=3.64250541"  
 [642] "107:leaf=0.0582112484,cover=2.43113232"                                            
 [643] "108:leaf=-0.0136027066,cover=1.21137297"                                           
 [644] "92:[f36<0.199999988] yes=109,no=110,missing=109,gain=0.527496338,cover=121.839157" 
 [645] "109:leaf=0.0760292262,cover=119.417488"                                            
 [646] "110:leaf=0.0307103693,cover=2.42166734"                                            
 [647] "80:[f52<0.732500017] yes=93,no=94,missing=93,gain=0.983843446,cover=2.71004987"    
 [648] "93:leaf=-0.00206113001,cover=1.48693752"                                           
 [649] "94:leaf=0.0466710888,cover=1.22311234"                                             
 [650] "46:[f9<0.360000014] yes=65,no=66,missing=65,gain=3.42512298,cover=2.71508551"      
 [651] "65:leaf=-0.0312154442,cover=1.23612535"                                            
 [652] "66:leaf=0.0510176942,cover=1.47896004"                                             
 [653] "32:[f36<0.75] yes=47,no=48,missing=47,gain=6.0947876,cover=3.66708994"             
 [654] "47:leaf=-0.0571650565,cover=1.48389125"                                            
 [655] "48:leaf=0.0423690751,cover=2.18319869"                                             
 [656] "22:leaf=-0.0479660891,cover=1.23134851"                                            
 [657] "12:leaf=-0.046671927,cover=1.96969104"                                             
 [658] "6:[f17<0.254999995] yes=13,no=14,missing=13,gain=8.95355511,cover=11.1810837"      
 [659] "13:leaf=-0.0691801235,cover=9.68907833"                                            
 [660] "14:leaf=0.0372856148,cover=1.49200487"                                             
 [661] "booster[6]"                                                                        
 [662] "0:[f52<0.0555000007] yes=1,no=2,missing=1,gain=461.852234,cover=582.450256"        
 [663] "1:[f20<0.435000002] yes=3,no=4,missing=3,gain=111.799133,cover=440.133331"         
 [664] "3:[f24<0.0949999988] yes=7,no=8,missing=7,gain=15.0053406,cover=288.071106"        
 [665] "7:[f55<9.5] yes=15,no=16,missing=15,gain=46.0451965,cover=198.795807"              
 [666] "15:[f56<2.5] yes=25,no=26,missing=25,gain=1.61482239,cover=124.911278"             
 [667] "25:[f18<2.26999998] yes=41,no=42,missing=41,gain=0.263286769,cover=2.65873456"     
 [668] "41:leaf=-0.00122348138,cover=1.20919847"                                           
 [669] "42:leaf=-0.0294536818,cover=1.44953609"                                            
 [670] "26:[f10<0.0700000003] yes=43,no=44,missing=43,gain=1.48132324,cover=122.252541"    
 [671] "43:[f18<3.03999996] yes=59,no=60,missing=59,gain=1.41073608,cover=121.037254"      
 [672] "59:leaf=-0.0720714033,cover=101.455635"                                            
 [673] "60:[f18<3.53999996] yes=75,no=76,missing=75,gain=1.81777763,cover=19.581625"       
 [674] "75:[f56<20.5] yes=89,no=90,missing=89,gain=2.80739045,cover=2.86226082"            
 [675] "89:leaf=-0.0452846512,cover=1.41826761"                                            
 [676] "90:leaf=0.0276161525,cover=1.44399321"                                             
 [677] "76:[f2<1.25] yes=91,no=92,missing=91,gain=0.20151329,cover=16.7193642"             
 [678] "91:leaf=-0.0592002533,cover=14.7995272"                                            
 [679] "92:leaf=-0.0217084214,cover=1.91983747"                                            
 [680] "44:leaf=-0.00834482536,cover=1.21528292"                                           
 [681] "16:[f45<0.0450000018] yes=27,no=28,missing=27,gain=27.239872,cover=73.8845367"     
 [682] "27:[f26<0.0350000001] yes=45,no=46,missing=45,gain=19.1153278,cover=52.9502945"    
 [683] "45:[f11<0.709999979] yes=61,no=62,missing=61,gain=10.5509844,cover=45.8022385"     
 [684] "61:[f36<0.0799999982] yes=77,no=78,missing=77,gain=5.25414181,cover=36.32547"      
 [685] "77:[f56<71.5] yes=93,no=94,missing=93,gain=8.20835495,cover=31.4230328"            
 [686] "93:[f18<3.2750001] yes=111,no=112,missing=111,gain=3.18053722,cover=11.6808128"    
 [687] "111:leaf=-0.0177167952,cover=8.4847517"                                            
 [688] "112:leaf=0.0320965871,cover=3.19606185"                                            
 [689] "94:[f48<1.91949999] yes=113,no=114,missing=113,gain=8.4648304,cover=19.7422199"    
 [690] "113:leaf=0.055491969,cover=18.5080013"                                             
 [691] "114:leaf=-0.0476060249,cover=1.23421717"                                           
 [692] "78:[f55<23] yes=95,no=96,missing=95,gain=3.96888041,cover=4.90243864"              
 [693] "95:leaf=0.0219918508,cover=2.1923871"                                              
 [694] "96:leaf=-0.0518925898,cover=2.71005154"                                            
 [695] "62:[f18<3.42499995] yes=79,no=80,missing=79,gain=8.36524391,cover=9.47676563"      
 [696] "79:[f55<33.5] yes=97,no=98,missing=97,gain=1.26965904,cover=7.24805403"            
 [697] "97:leaf=-0.0673491731,cover=5.06231403"                                            
 [698] "98:leaf=-0.0154570518,cover=2.18574023"                                            
 [699] "80:leaf=0.0371733904,cover=2.22871161"                                             
 [700] "46:leaf=-0.0687128827,cover=7.14805794"                                            
 [701] "28:[f27<0.229999989] yes=47,no=48,missing=47,gain=11.2468948,cover=20.9342403"     
 [702] "47:[f49<0.328500003] yes=63,no=64,missing=63,gain=0.0760574341,cover=19.4649239"   
 [703] "63:leaf=-0.0761391073,cover=18.2478027"                                            
 [704] "64:leaf=-0.0239169467,cover=1.21712136"                                            
 [705] "48:leaf=0.0414845794,cover=1.46931708"                                             
 [706] "8:[f52<0.0490000024] yes=17,no=18,missing=17,gain=0.423919678,cover=89.2752914"    
 [707] "17:[f56<1792.5] yes=29,no=30,missing=29,gain=0.122283936,cover=88.0932999"         
 [708] "29:leaf=-0.075566873,cover=86.8850021"                                             
 [709] "30:leaf=-0.0234189481,cover=1.20829725"                                            
 [710] "18:leaf=-0.0200113989,cover=1.18199039"                                            
 [711] "4:[f24<0.0649999976] yes=9,no=10,missing=9,gain=72.5565109,cover=152.06221"        
 [712] "9:[f56<74.5] yes=19,no=20,missing=19,gain=73.1253662,cover=117.971832"             
 [713] "19:[f16<0.185000002] yes=31,no=32,missing=31,gain=12.094574,cover=47.7575645"      
 [714] "31:[f55<4.5] yes=49,no=50,missing=49,gain=6.32559586,cover=44.7866058"             
 [715] "49:[f0<0.125] yes=65,no=66,missing=65,gain=1.94550133,cover=16.2244263"            
 [716] "65:leaf=-0.0687904507,cover=15.0145378"                                            
 [717] "66:leaf=-0.00329905143,cover=1.20988834"                                           
 [718] "50:[f44<0.545000017] yes=67,no=68,missing=67,gain=5.10538864,cover=28.5621815"     
 [719] "67:[f49<0.152999997] yes=81,no=82,missing=81,gain=5.65535545,cover=22.7968349"     
 [720] "81:[f55<27.5] yes=99,no=100,missing=99,gain=6.48450708,cover=16.9763374"           
 [721] "99:[f45<0.135000005] yes=115,no=116,missing=115,gain=3.27987528,cover=14.7622051"  
 [722] "115:leaf=0.020233117,cover=13.5684919"                                             
 [723] "116:leaf=-0.0428605527,cover=1.19371319"                                           
 [724] "100:leaf=-0.0614782572,cover=2.21413279"                                           
 [725] "82:[f11<1.53999996] yes=101,no=102,missing=101,gain=1.09513855,cover=5.82049704"   
 [726] "101:leaf=-0.0601873472,cover=4.59361696"                                           
 [727] "102:leaf=-0.00548951747,cover=1.22688043"                                          
 [728] "68:leaf=-0.0627191514,cover=5.76534557"                                            
 [729] "32:[f55<7.5] yes=51,no=52,missing=51,gain=0.660462141,cover=2.97095871"            
 [730] "51:leaf=0.0611179173,cover=1.74092197"                                             
 [731] "52:leaf=0.00935018063,cover=1.23003685"                                            
 [732] "20:[f45<0.0450000018] yes=33,no=34,missing=33,gain=41.822567,cover=70.2142715"     
 [733] "33:[f26<0.125] yes=53,no=54,missing=53,gain=36.8534088,cover=62.8999634"           
 [734] "53:[f49<0.20449999] yes=69,no=70,missing=69,gain=3.0344696,cover=58.3182755"       
 [735] "69:[f36<0.234999999] yes=83,no=84,missing=83,gain=1.30479431,cover=50.3271675"     
 [736] "83:[f50<0.0544999987] yes=103,no=104,missing=103,gain=1.0178833,cover=47.897934"   
 [737] "103:[f18<0.36500001] yes=117,no=118,missing=117,gain=1.17485046,cover=46.4633255"  
 [738] "117:leaf=0.0261897389,cover=2.66398335"                                            
 [739] "118:leaf=0.0738978609,cover=43.7993431"                                            
 [740] "104:leaf=0.0161122121,cover=1.43460822"                                            
 [741] "84:[f18<2.59500003] yes=105,no=106,missing=105,gain=0.0241444707,cover=2.42923069" 
 [742] "105:leaf=0.0266947187,cover=1.21768856"                                            
 [743] "106:leaf=0.00711577712,cover=1.21154213"                                           
 [744] "70:[f49<0.244499996] yes=85,no=86,missing=85,gain=8.03845978,cover=7.9911108"      
 [745] "85:leaf=-0.0437763184,cover=1.71649826"                                            
 [746] "86:[f9<0.319999993] yes=107,no=108,missing=107,gain=1.10936069,cover=6.27461243"   
 [747] "107:leaf=0.0663834587,cover=4.32530546"                                            
 [748] "108:leaf=0.0144368429,cover=1.9493072"                                             
 [749] "54:leaf=-0.0661141798,cover=4.5816865"                                             
 [750] "34:[f5<0.180000007] yes=55,no=56,missing=55,gain=0.675657272,cover=7.31430626"     
 [751] "55:leaf=-0.0679318085,cover=5.86892843"                                            
 [752] "56:leaf=-0.0161305536,cover=1.44537783"                                            
 [753] "10:[f10<0.425000012] yes=21,no=22,missing=21,gain=8.94389343,cover=34.0903816"     
 [754] "21:[f56<24.5] yes=35,no=36,missing=35,gain=0.133842468,cover=32.8594093"           
 [755] "35:leaf=-0.0223314986,cover=1.19420338"                                            
 [756] "36:leaf=-0.0735699981,cover=31.6652069"                                            
 [757] "22:leaf=0.0362558365,cover=1.23097014"                                             
 [758] "2:[f24<0.430000007] yes=5,no=6,missing=5,gain=61.312561,cover=142.31694"           
 [759] "5:[f55<4.5] yes=11,no=12,missing=11,gain=13.5397949,cover=133.420456"              
 [760] "11:leaf=-0.0418634303,cover=1.97210765"                                            
 [761] "12:[f26<0.0799999982] yes=23,no=24,missing=23,gain=10.5710144,cover=131.448349"    
 [762] "23:[f45<0.474999994] yes=37,no=38,missing=37,gain=4.70928955,cover=128.759308"     
 [763] "37:[f49<0.426999986] yes=57,no=58,missing=57,gain=2.34204102,cover=127.528252"     
 [764] "57:[f55<9.5] yes=71,no=72,missing=71,gain=0.292388916,cover=124.350342"            
 [765] "71:leaf=0.0375326499,cover=3.88394499"                                             
 [766] "72:[f3<0.199999988] yes=87,no=88,missing=87,gain=0.234710693,cover=120.466393"     
 [767] "87:[f45<0.109999999] yes=109,no=110,missing=109,gain=0.0672912598,cover=119.272041"
 [768] "109:[f36<0.50999999] yes=119,no=120,missing=119,gain=0.0268554688,cover=118.066307"
 [769] "119:leaf=0.0738880336,cover=115.172241"                                            
 [770] "120:leaf=0.0360830538,cover=2.89406347"                                            
 [771] "110:leaf=0.0231877677,cover=1.20573342"                                            
 [772] "88:leaf=0.0212451126,cover=1.19435513"                                             
 [773] "58:[f52<0.674000025] yes=73,no=74,missing=73,gain=3.90728831,cover=3.17791414"     
 [774] "73:leaf=-0.0310567543,cover=1.2407248"                                             
 [775] "74:leaf=0.0541597717,cover=1.93718934"                                             
 [776] "38:leaf=-0.0133692054,cover=1.2310499"                                             
 [777] "24:[f5<0.379999995] yes=39,no=40,missing=39,gain=3.07505798,cover=2.68905091"      
 [778] "39:leaf=-0.0523957647,cover=1.47890472"                                            
 [779] "40:leaf=0.0264709033,cover=1.21014619"                                             
 [780] "6:[f9<0.125] yes=13,no=14,missing=13,gain=2.60735703,cover=8.8964777"              
 [781] "13:leaf=-0.0694952756,cover=7.18155289"                                            
 [782] "14:leaf=-0.00305546215,cover=1.71492481"                                           
 [783] "booster[7]"                                                                        
 [784] "0:[f52<0.0394999981] yes=1,no=2,missing=1,gain=458.950745,cover=565.94043"         
 [785] "1:[f6<0.0649999976] yes=3,no=4,missing=3,gain=179.287598,cover=415.374207"         
 [786] "3:[f51<0.508000016] yes=7,no=8,missing=7,gain=120.804077,cover=377.670349"         
 [787] "7:[f23<0.0199999996] yes=15,no=16,missing=15,gain=24.8132324,cover=342.647156"     
 [788] "15:[f4<0.935000002] yes=27,no=28,missing=27,gain=10.6122437,cover=332.790405"      
 [789] "27:[f21<0.135000005] yes=39,no=40,missing=39,gain=9.87158203,cover=307.772858"     
 [790] "39:[f22<0.36500001] yes=55,no=56,missing=55,gain=3.48791504,cover=302.13092"       
 [791] "55:[f10<0.425000012] yes=75,no=76,missing=75,gain=3.20721436,cover=300.909424"     
 [792] "75:[f55<199.5] yes=85,no=86,missing=85,gain=2.97369385,cover=297.510437"           
 [793] "85:[f11<5.5] yes=91,no=92,missing=91,gain=2.17462158,cover=295.805481"             
 [794] "91:leaf=-0.0670703426,cover=294.594727"                                            
 [795] "92:leaf=-0.00169101206,cover=1.2107501"                                            
 [796] "86:leaf=-0.00233191974,cover=1.70494914"                                           
 [797] "76:[f55<11] yes=87,no=88,missing=87,gain=3.41122007,cover=3.39899111"              
 [798] "87:leaf=0.0335525312,cover=1.23531771"                                             
 [799] "88:leaf=-0.0441656485,cover=2.1636734"                                             
 [800] "56:leaf=0.00845336262,cover=1.22149134"                                            
 [801] "40:[f48<0.932500005] yes=57,no=58,missing=57,gain=7.71796608,cover=5.64193773"     
 [802] "57:[f49<0.0320000015] yes=77,no=78,missing=77,gain=0.475108862,cover=3.4358747"    
 [803] "77:leaf=0.0527803116,cover=1.70752263"                                             
 [804] "78:leaf=0.0113600139,cover=1.72835195"                                             
 [805] "58:leaf=-0.0577790365,cover=2.20606279"                                            
 [806] "28:[f18<1.86500001] yes=41,no=42,missing=41,gain=13.7350264,cover=25.0175533"      
 [807] "41:[f55<40.5] yes=59,no=60,missing=59,gain=1.24494743,cover=14.6033468"            
 [808] "59:[f55<2.5] yes=79,no=80,missing=79,gain=0.972473145,cover=13.4192629"            
 [809] "79:leaf=-0.0177991167,cover=1.87908173"                                            
 [810] "80:leaf=-0.0678472668,cover=11.5401812"                                            
 [811] "60:leaf=-0.00605169358,cover=1.18408334"                                           
 [812] "42:[f26<0.125] yes=61,no=62,missing=61,gain=8.34436321,cover=10.4142075"           
 [813] "61:[f24<0.200000003] yes=81,no=82,missing=81,gain=3.12621021,cover=8.05661583"     
 [814] "81:[f11<0.789999962] yes=89,no=90,missing=89,gain=1.49829531,cover=6.86358023"     
 [815] "89:leaf=0.0555539243,cover=5.40566349"                                             
 [816] "90:leaf=0.0012149103,cover=1.45791709"                                             
 [817] "82:leaf=-0.0232212525,cover=1.19303548"                                            
 [818] "62:leaf=-0.0541508049,cover=2.35759163"                                            
 [819] "16:[f55<12] yes=29,no=30,missing=29,gain=5.89489079,cover=9.85675144"              
 [820] "29:leaf=-0.0434130765,cover=2.1850071"                                             
 [821] "30:[f24<0.0850000009] yes=43,no=44,missing=43,gain=6.69099379,cover=7.67174482"    
 [822] "43:[f18<2.19000006] yes=63,no=64,missing=63,gain=0.886001587,cover=6.45435858"     
 [823] "63:leaf=0.0591343753,cover=5.235497"                                               
 [824] "64:leaf=0.00748740276,cover=1.2188617"                                             
 [825] "44:leaf=-0.0454784743,cover=1.21738601"                                            
 [826] "8:[f55<9.5] yes=17,no=18,missing=17,gain=21.9893112,cover=35.0231819"              
 [827] "17:[f51<1.48099995] yes=31,no=32,missing=31,gain=8.72223186,cover=13.6414328"      
 [828] "31:[f55<7.5] yes=45,no=46,missing=45,gain=2.66779709,cover=9.25445652"             
 [829] "45:[f51<1.12800002] yes=65,no=66,missing=65,gain=1.63433933,cover=7.08943129"      
 [830] "65:leaf=-0.064088881,cover=5.16709042"                                             
 [831] "66:leaf=-0.00858293939,cover=1.92234111"                                           
 [832] "46:leaf=0.00530613633,cover=2.16502523"                                            
 [833] "32:[f44<0.239999995] yes=47,no=48,missing=47,gain=1.37061763,cover=4.38697577"     
 [834] "47:[f55<4.5] yes=67,no=68,missing=67,gain=0.333889961,cover=3.17729068"            
 [835] "67:leaf=0.0176496524,cover=1.70354366"                                             
 [836] "68:leaf=0.0632316247,cover=1.47374713"                                             
 [837] "48:leaf=-0.00498855393,cover=1.20968509"                                           
 [838] "18:[f11<1.21000004] yes=33,no=34,missing=33,gain=2.14160156,cover=21.3817482"      
 [839] "33:[f44<0.924999952] yes=49,no=50,missing=49,gain=1.19697571,cover=18.741436"      
 [840] "49:[f17<1.39499998] yes=69,no=70,missing=69,gain=0.18195343,cover=17.5197124"      
 [841] "69:leaf=0.0722628087,cover=16.327364"                                              
 [842] "70:leaf=0.0211851411,cover=1.19234991"                                             
 [843] "50:leaf=0.0107760411,cover=1.22172225"                                             
 [844] "34:[f4<0.115000002] yes=51,no=52,missing=51,gain=1.72183871,cover=2.64031339"      
 [845] "51:leaf=-0.0165633075,cover=1.45538318"                                            
 [846] "52:leaf=0.0427634865,cover=1.18493009"                                             
 [847] "4:[f26<0.140000001] yes=9,no=10,missing=9,gain=14.7285156,cover=37.7038651"        
 [848] "9:[f0<0.694999993] yes=19,no=20,missing=19,gain=1.70128632,cover=35.7825928"       
 [849] "19:[f32<0.210000008] yes=35,no=36,missing=35,gain=0.904159546,cover=34.565464"     
 [850] "35:leaf=0.0675885528,cover=32.8635674"                                             
 [851] "36:leaf=0.0176198836,cover=1.70189524"                                             
 [852] "20:leaf=0.00448365603,cover=1.21712899"                                            
 [853] "10:leaf=-0.0523889288,cover=1.92127085"                                            
 [854] "2:[f24<0.38499999] yes=5,no=6,missing=5,gain=73.6363525,cover=150.566238"          
 [855] "5:[f55<6.5] yes=11,no=12,missing=11,gain=9.93634033,cover=138.219177"              
 [856] "11:[f18<2.84000015] yes=21,no=22,missing=21,gain=6.15424824,cover=3.93204546"      
 [857] "21:leaf=-0.0472475961,cover=2.45528889"                                            
 [858] "22:leaf=0.0512636416,cover=1.47675657"                                             
 [859] "12:[f25<0.155000001] yes=23,no=24,missing=23,gain=6.98129272,cover=134.28714"      
 [860] "23:[f51<0.0445000008] yes=37,no=38,missing=37,gain=1.55847168,cover=132.321915"    
 [861] "37:[f52<0.145999998] yes=53,no=54,missing=53,gain=3.78569031,cover=20.6449013"     
 [862] "53:[f55<27] yes=71,no=72,missing=71,gain=5.76138926,cover=6.47535992"              
 [863] "71:[f52<0.0944999978] yes=83,no=84,missing=83,gain=0.707058311,cover=2.90828133"   
 [864] "83:leaf=-0.000728548621,cover=1.42903948"                                          
 [865] "84:leaf=-0.0433053859,cover=1.47924197"                                            
 [866] "72:leaf=0.0515949167,cover=3.56707835"                                             
 [867] "54:[f49<0.290499985] yes=73,no=74,missing=73,gain=1.26310158,cover=14.1695404"     
 [868] "73:leaf=0.0680549294,cover=12.9345617"                                             
 [869] "74:leaf=0.00911991391,cover=1.23497891"                                            
 [870] "38:leaf=0.0719276965,cover=111.67701"                                              
 [871] "24:leaf=-0.014810198,cover=1.9652276"                                              
 [872] "6:[f17<0.254999995] yes=13,no=14,missing=13,gain=6.15266228,cover=12.3470507"      
 [873] "13:[f10<0.0949999988] yes=25,no=26,missing=25,gain=0.608272552,cover=11.1078005"   
 [874] "25:leaf=-0.0697837546,cover=8.98122692"                                            
 [875] "26:leaf=-0.0234400928,cover=2.12657404"                                            
 [876] "14:leaf=0.0299481079,cover=1.23924971"                                             
 [877] "booster[8]"                                                                        
 [878] "0:[f6<0.00999999978] yes=1,no=2,missing=1,gain=315.267731,cover=556.894043"        
 [879] "1:[f15<0.13499999] yes=3,no=4,missing=3,gain=202.438934,cover=462.731018"          
 [880] "3:[f54<3.3829999] yes=7,no=8,missing=7,gain=85.954071,cover=375.032257"            
 [881] "7:[f18<2.16499996] yes=13,no=14,missing=13,gain=17.2284851,cover=306.116425"       
 [882] "13:[f56<117.5] yes=23,no=24,missing=23,gain=5.5753479,cover=228.78479"             
 [883] "23:[f20<2.61000013] yes=37,no=38,missing=37,gain=4.06747437,cover=164.63504"       
 [884] "37:[f56<2.5] yes=49,no=50,missing=49,gain=1.63769531,cover=160.870636"             
 [885] "49:leaf=-0.0135285193,cover=1.66574466"                                            
 [886] "50:[f4<5.75500011] yes=69,no=70,missing=69,gain=0.48928833,cover=159.20488"        
 [887] "69:[f16<1.51999998] yes=89,no=90,missing=89,gain=0.211364746,cover=158.055313"     
 [888] "89:leaf=-0.0714667067,cover=156.886368"                                            
 [889] "90:leaf=-0.0206716172,cover=1.16895199"                                            
 [890] "70:leaf=-0.0175416972,cover=1.14957011"                                            
 [891] "38:[f56<31.5] yes=51,no=52,missing=51,gain=3.08192563,cover=3.76440501"            
 [892] "51:leaf=-0.0484975092,cover=1.84813321"                                            
 [893] "52:leaf=0.0221214127,cover=1.91627192"                                             
 [894] "24:[f24<0.0649999976] yes=39,no=40,missing=39,gain=20.3050308,cover=64.1497574"    
 [895] "39:[f4<0.0949999988] yes=53,no=54,missing=53,gain=10.175559,cover=20.2081337"      
 [896] "53:[f18<0.0149999997] yes=71,no=72,missing=71,gain=4.92045498,cover=10.4371986"    
 [897] "71:[f56<213.5] yes=91,no=92,missing=91,gain=1.15698385,cover=3.12494636"           
 [898] "91:leaf=0.0258036461,cover=1.9412787"                                              
 [899] "92:leaf=-0.0203562453,cover=1.18366754"                                            
 [900] "72:leaf=-0.0602691695,cover=7.31225252"                                            
 [901] "54:[f54<2.2105] yes=73,no=74,missing=73,gain=5.16204739,cover=9.7709341"           
 [902] "73:[f20<0.00999999978] yes=93,no=94,missing=93,gain=2.44471717,cover=4.49862623"   
 [903] "93:leaf=-0.0467628315,cover=1.6261096"                                             
 [904] "94:[f4<0.330000013] yes=111,no=112,missing=111,gain=1.21911085,cover=2.87251639"   
 [905] "111:leaf=-0.0137980906,cover=1.42718136"                                           
 [906] "112:leaf=0.0350723155,cover=1.44533503"                                            
 [907] "74:[f5<0.0649999976] yes=95,no=96,missing=95,gain=0.910862446,cover=5.27230787"    
 [908] "95:leaf=0.0606687889,cover=4.09253168"                                             
 [909] "96:leaf=0.00713712908,cover=1.17977619"                                            
 [910] "40:[f56<1689] yes=55,no=56,missing=55,gain=0.292999268,cover=43.9416237"           
 [911] "55:[f5<0.305000007] yes=75,no=76,missing=75,gain=0.0782852173,cover=42.7748375"    
 [912] "75:leaf=-0.069887504,cover=41.6187553"                                             
 [913] "76:leaf=-0.0213018917,cover=1.15608358"                                            
 [914] "56:leaf=-0.0188320335,cover=1.16678596"                                            
 [915] "14:[f16<0.0599999987] yes=25,no=26,missing=25,gain=28.7163315,cover=77.3316345"    
 [916] "25:[f54<2.23099995] yes=41,no=42,missing=41,gain=11.0889969,cover=69.3026581"      
 [917] "41:[f4<1.53499997] yes=57,no=58,missing=57,gain=2.05787659,cover=52.4674873"       
 [918] "57:[f20<5.32000017] yes=77,no=78,missing=77,gain=1.39201355,cover=50.5402641"      
 [919] "77:[f55<20] yes=97,no=98,missing=97,gain=0.178581238,cover=49.1534309"             
 [920] "97:leaf=-0.0617618412,cover=47.7469254"                                            
 [921] "98:leaf=-0.0197356082,cover=1.40650582"                                            
 [922] "78:leaf=-0.00696035009,cover=1.38683605"                                           
 [923] "58:leaf=-0.00608289475,cover=1.92722201"                                           
 [924] "42:[f45<0.194999993] yes=59,no=60,missing=59,gain=8.30294991,cover=16.8351746"     
 [925] "59:[f24<0.140000001] yes=79,no=80,missing=79,gain=6.8429842,cover=12.4197741"      
 [926] "79:[f55<10.5] yes=99,no=100,missing=99,gain=2.67717981,cover=10.1055555"           
 [927] "99:[f54<2.5710001] yes=113,no=114,missing=113,gain=1.11979461,cover=2.86090207"    
 [928] "113:leaf=-0.0299129244,cover=1.64323306"                                           
 [929] "114:leaf=0.0168077145,cover=1.21766901"                                            
 [930] "100:[f54<2.96150017] yes=115,no=116,missing=115,gain=2.08602238,cover=7.24465418"  
 [931] "115:leaf=0.0497148111,cover=6.03021479"                                            
 [932] "116:leaf=-0.0105939731,cover=1.21443939"                                           
 [933] "80:leaf=-0.0525308065,cover=2.31421781"                                            
 [934] "60:leaf=-0.0619255304,cover=4.41540003"                                            
 [935] "26:[f24<0.330000013] yes=43,no=44,missing=43,gain=6.83088875,cover=8.02896976"     
 [936] "43:[f18<2.6400001] yes=61,no=62,missing=61,gain=1.26396465,cover=6.87990952"       
 [937] "61:leaf=0.00799700525,cover=1.17723596"                                            
 [938] "62:leaf=0.069382675,cover=5.70267391"                                              
 [939] "44:leaf=-0.039787434,cover=1.14906037"                                             
 [940] "8:[f24<0.399999976] yes=15,no=16,missing=15,gain=43.8071785,cover=68.9158173"      
 [941] "15:[f26<0.0799999982] yes=27,no=28,missing=27,gain=26.7945442,cover=52.9330215"    
 [942] "27:[f45<0.289999992] yes=45,no=46,missing=45,gain=20.9054928,cover=46.1636238"     
 [943] "45:[f48<0.965499997] yes=63,no=64,missing=63,gain=11.0330772,cover=42.5718422"     
 [944] "63:[f20<5.83500004] yes=81,no=82,missing=81,gain=5.01498413,cover=40.8601227"      
 [945] "81:[f27<0.254999995] yes=101,no=102,missing=101,gain=4.44314575,cover=39.6626091"  
 [946] "101:[f56<39.5] yes=117,no=118,missing=117,gain=2.8016243,cover=38.467308"          
 [947] "117:leaf=-0.00232150988,cover=1.7029016"                                           
 [948] "118:leaf=0.0587980635,cover=36.7644043"                                            
 [949] "102:leaf=-0.0224786438,cover=1.19530082"                                           
 [950] "82:leaf=-0.0282265265,cover=1.19751668"                                            
 [951] "64:leaf=-0.0527230352,cover=1.71171951"                                            
 [952] "46:leaf=-0.0632199794,cover=3.59177995"                                            
 [953] "28:leaf=-0.0604201667,cover=6.76939774"                                            
 [954] "16:[f1<0.224999994] yes=29,no=30,missing=29,gain=1.53117371,cover=15.9827976"      
 [955] "29:leaf=-0.0699146613,cover=14.5395679"                                            
 [956] "30:leaf=-0.0102449078,cover=1.44322956"                                            
 [957] "4:[f24<0.24000001] yes=9,no=10,missing=9,gain=26.1059761,cover=87.6987762"         
 [958] "9:[f45<0.0949999988] yes=17,no=18,missing=17,gain=26.9176674,cover=80.319191"      
 [959] "17:[f26<0.125] yes=31,no=32,missing=31,gain=17.8476334,cover=73.700737"            
 [960] "31:[f54<1.91149998] yes=47,no=48,missing=47,gain=5.95172119,cover=71.0730362"      
 [961] "47:[f54<1.76999998] yes=65,no=66,missing=65,gain=4.12049198,cover=11.63661"        
 [962] "65:[f56<59.5] yes=83,no=84,missing=83,gain=4.1490345,cover=10.1757908"             
 [963] "83:[f18<4.76999998] yes=103,no=104,missing=103,gain=2.74155498,cover=3.91365051"   
 [964] "103:[f56<37] yes=119,no=120,missing=119,gain=0.439514399,cover=2.43754983"         
 [965] "119:leaf=-0.00515461247,cover=1.22476411"                                          
 [966] "120:leaf=-0.0457686,cover=1.21278572"                                              
 [967] "104:leaf=0.0330946892,cover=1.47610068"                                            
 [968] "84:[f49<0.0384999998] yes=105,no=106,missing=105,gain=1.27940273,cover=6.2621398"  
 [969] "105:leaf=0.00435280893,cover=1.20229101"                                           
 [970] "106:leaf=0.06206901,cover=5.05984879"                                              
 [971] "66:leaf=-0.0377444178,cover=1.46081948"                                            
 [972] "48:[f4<0.0250000004] yes=67,no=68,missing=67,gain=1.2751236,cover=59.4364281"      
 [973] "67:[f55<51] yes=85,no=86,missing=85,gain=5.51075172,cover=22.5306702"              
 [974] "85:[f9<0.544999957] yes=107,no=108,missing=107,gain=0.601593018,cover=14.2857647"  
 [975] "107:leaf=0.067780748,cover=12.375598"                                              
 [976] "108:leaf=0.0214266218,cover=1.91016686"                                            
 [977] "86:[f55<71.5] yes=109,no=110,missing=109,gain=9.29779339,cover=8.24490547"         
 [978] "109:[f9<0.200000003] yes=121,no=122,missing=121,gain=3.60089111,cover=3.63291621"  
 [979] "121:leaf=-0.0636051521,cover=2.47579312"                                           
 [980] "122:leaf=0.0202959646,cover=1.15712297"                                            
 [981] "110:leaf=0.0532125644,cover=4.61198902"                                            
 [982] "68:[f55<11.5] yes=87,no=88,missing=87,gain=2.54815674,cover=36.9057579"            
 [983] "87:leaf=0.00614168262,cover=1.67877948"                                            
 [984] "88:leaf=0.0701231509,cover=35.2269783"                                             
 [985] "32:leaf=-0.0572026931,cover=2.62769866"                                            
 [986] "18:[f18<0.25999999] yes=33,no=34,missing=33,gain=5.00948572,cover=6.61845732"      
 [987] "33:leaf=0.013304254,cover=1.99062049"                                              
 [988] "34:leaf=-0.0689263716,cover=4.6278367"                                             
 [989] "10:[f15<0.695000052] yes=19,no=20,missing=19,gain=3.63807869,cover=7.37958431"     
 [990] "19:leaf=-0.0652228072,cover=5.42344952"                                            
 [991] "20:leaf=0.00608874299,cover=1.9561348"                                             
 [992] "2:[f26<0.0799999982] yes=5,no=6,missing=5,gain=18.7544556,cover=94.1629944"        
 [993] "5:[f45<0.174999997] yes=11,no=12,missing=11,gain=6.9163208,cover=92.0004883"       
 [994] "11:[f24<0.189999998] yes=21,no=22,missing=21,gain=4.12678528,cover=90.3084946"     
 [995] "21:[f49<0.431500018] yes=35,no=36,missing=35,gain=2.34806824,cover=88.1045685"     
 [996] "35:leaf=0.0712989718,cover=86.9008179"                                             
 [997] "36:leaf=0.00233534025,cover=1.20375609"                                            
 [998] "22:leaf=0.0030164218,cover=2.20392513"                                             
 [999] "12:leaf=-0.0189272892,cover=1.69199574"                                            
[1000] "6:leaf=-0.0563426651,cover=2.16250682"                                             
 [ reached getOption("max.print") -- omitted 2666 entries ]
xgb.plot.tree(model=xgb_final)

Evaluation

Recommend using model. Risk of overfitting real, though holdout wants you to believe otherwise. Should try SHAP for detailed review… later

Final model against holdout

xgb_pred_finalvsholdout<-predict(xgb_final,holdout_data)
library(pROC)
my_roc_finalvsholdout<-roc(holdout_label,xgb_pred_finalvsholdout)
Setting levels: control = 0, case = 1
Setting direction: controls < cases
coords(my_roc_finalvsholdout,"best",ret=c("threshold","specificity","sensitivity","accuracy",
                                 "precision","recall"),transpose=FALSE)
plot.roc(holdout_label,xgb_pred_finalvsholdout)
Setting levels: control = 0, case = 1
Setting direction: controls < cases

plot(my_roc_finalvsholdout,print.thres="best",       
     print.thres.best.weights=c(50,0.2))

Confusion matrix

xgb_pred <- ifelse (xgb_pred_finalvsholdout>=0.3290529,1,0)
table(holdout_label, xgb_pred)  
             xgb_pred
holdout_label   0   1
            0 249  16
            1   4 187

Deployment

XGBoost recommended. Need modern tool for email scraping, since this is party like it’s 1999 stuff. Otherwise make pipeline and deploy. Spam goes to quarantine non spam goes to your inbox. Bribe SAM to install with pizza at Proto’s.

LS0tCnRpdGxlOiAiU3BhbSBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQojIEJ1c2luZXNzIFVuZGVyc3RhbmRpbmcKU3BhbSBjYW4gbGVhZCB0byBzb21lIGJhZCBzdHVmZiwgbGV0J3Mgc3RvcCBpdC4KCiMjIExvYWQgbGlicmFyaWVzIGFuZCBwYWNrYWdlcwpgYGB7cn0KbGlicmFyeShlMTA3MSkgIApyZXF1aXJlKHhnYm9vc3QpCmxpYnJhcnkocFJPQykKbGlicmFyeShtYWdyaXR0cikKbGlicmFyeShkcGx5cikKYGBgCkxvYWQgZGF0YSAKYGBge3J9CnJtKGxpc3Q9bHMoKSkKc3BhbTwtcmVhZC5jc3YoIi9Vc2Vycy9rZW50L0xpYnJhcnkvTW9iaWxlIERvY3VtZW50cy9jb21+YXBwbGV+Q2xvdWREb2NzL0xlZWRzL1NwcmluZy9NU0JYNTQxNS0wMDJBZHZhbmNlZERhdGFBbmFseXRpY3MvUHJvamVjdC9kYXRhc2V0XzQ0X3NwYW1iYXNlLmNzdiIsaGVhZGVyPVQsbmEuc3RyaW5ncz1jKCIiLCJOQSIpKQpgYGAKUXVpY2sgbG9vayBhdCB0b3Agb2YgdGhlIGZpbGUKYGBge3J9CmhlYWQoc3BhbSkKYGBgClF1aWNrIGxvb2sgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZQpgYGB7cn0KdGFpbChzcGFtKQpgYGAKSG93IGJpZyBpcyBmaWxlCmBgYHtyfQpkaW0oc3BhbSkKYGBgCiMgRGF0YSBVbmRlcnN0YW5kaW5nClRoaXMgZGF0YSBpcyBhIGN1cmF0ZWQgc2FtcGxlIGZyb20gSFAsIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIHJhbmRvbSBzYW1wbGUsIGVhY2ggcm93IGlzIGFuIGVtYWlsCndvcmRfZnJlcS4uLiA9IGZyZXF1ZW5jeSBvZiB3b3JkIGluIGVtYWlsCmNoYXJfZnJlcS4uLiA9ICIgY2hhcmFjdGVyCmNhcGl0YWwuLi4gPSBzdGF0cyBvbiBjYXBpdGFsaXplZC4uLgpjbGFzcyA9IGxhYmVsLCB0YXJnZXQsIGJpbmFyeQoKTG9vayBhdCBjb250ZW50LCBxdWljayBzdW1tYXJ5CmBgYHtyfQpzdHIoc3BhbSkKYGBgCkRlc2NyaXB0aXZlIHN0YXRzCmBgYHtyfQpzdW1tYXJ5KHNwYW0pCmBgYAoKYGBge3J9Cm5hbWVzPC1uYW1lcyhzcGFtKQpgYGAKTG9vayBhdCBjb2x1bW4gaGVhZGVycwpgYGB7cn0KcHJpbnQobmFtZXMpCmBgYAoKYGBge3J9CmNvbHVtbl9uYW1lczwtY29sbmFtZXMoc3BhbSkKYGBgCkxvb2sgYXQgdGFyZ2V0LCBsYWJlbGVkIDEgYXMgc3BhbSwgMCBhcyBub3Qgc3BhbQpgYGB7cn0KYXMuZmFjdG9yKHNwYW0kY2xhc3MpCmBgYApMb29rIGF0IGFtb3VudCBvZiB6ZXJvJ3MsIGRhdGEgc2VlbXMgdG8gYmUgc3VwZXIgY2xlYW4gYW5kIHJlYWR5IHRvIHJvbGwsIDAncyBhcmUgbGVnaXRpbWF0ZSBzaW5jZSBub3QgZXZlcnkgZW1haWwgaGFzIGRpY3Rpb25hcnkgaW4gaXQsIGNvbnRlbnQgd2lzZQpgYGB7cn0KY29sU3Vtcyhpcy5uYShzcGFtKSkKZm9yIChpIGluIG5hbWVzKHNwYW0pKXsKICBwcmludChjKCdQZXJjZW50YWdlIG9mIHplcm9zIGluICcsaSxzdW0oc3BhbVssaV09PTApL25yb3coc3BhbSkpKX0KYGBgCiMjIEEgbGl0dGxlIEVEQQoKTG9vayBhdCBza2V3bmVzcwpgYGB7cn0KZm9yIChpIGluIG5hbWVzKHNwYW0pKXsKICBwcmludChjKCdTa2V3bmVzcyBpbiAnLGksc2tld25lc3Moc3BhbVssaV0pKSl9Cgpmb3IgKGkgaW4gbmFtZXMoc3BhbSkpewogIGhpc3Qoc3BhbVssaV0sbWFpbj1pLGJyZWFrcz01MCl9CmBgYAojIyBBIGxpdHRsZSBtb3JlIEVEQQoKTG9vayBhdCBib3hwbG90cwpgYGB7cn0KZm9yIChpIGluIG5hbWVzKHNwYW0pKXsKICBib3hwbG90KHNwYW1bLGldLG1haW49aSl9CmBgYAojIyBBIGV2ZW4gYSBsaXR0bGUgRURBCgpMb29rIGF0IGNvcnJlbGF0aW9ucwpgYGB7cn0KTSA8LSBjb3Ioc3BhbSkKbGlicmFyeShjb3JycGxvdCkKY29ycnBsb3QoTSxtZXRob2Q9ImNvbG9yIixvcmRlcj0iRlBDIikKYGBgCiMgRGF0YSBQcmVwYXJhdGlvbgoKQ29udmVydCB0aGUgY2xhc3MgZmFjdG9yIHRvIGFuIGludGVnZXIgY2xhc3Mgc3RhcnRpbmcgYXQgMC4KVGhpcyBpcyBwaWNreSwgYnV0IGl0J3MgYSByZXF1aXJlbWVudCBmb3IgWEdCb29zdApgYGB7cn0KY2xhc3M8LXNwYW0kY2xhc3MKbGFiZWw8LWFzLmludGVnZXIoc3BhbSRjbGFzcykKc3BhbSRjbGFzczwtTlVMTApgYGAKU3BsaXQgdGhlIGRhdGEgZm9yIHRyYWluaW5nIGFuZCB0ZXN0aW5nICg3MC8yMC8xMCB0cmFpbi90ZXN0L2hvbGRvdXQgc3BsaXQpCmBgYHtyfQpuPC1ucm93KHNwYW0pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKc2V0LnNlZWQoMTIzKQp0cmFpbl9pbmRleDwtc2FtcGxlKG4sZmxvb3IoMC43MCpuKSkgICAgICAgICAKdHJhaW5fZGF0YTwtYXMubWF0cml4KHNwYW1bdHJhaW5faW5kZXgsXSkKdHJhaW5fbGFiZWw8LWxhYmVsW3RyYWluX2luZGV4XQoKdGVzdGhvbGRvdXRfZGF0YTwtc3BhbVstdHJhaW5faW5kZXgsXSAgICAgICAKdGVzdGhvbGRvdXRfbGFiZWw8LWxhYmVsWy10cmFpbl9pbmRleF0KbnRoPC1ucm93KHRlc3Rob2xkb3V0X2RhdGEpCnRoX2luZGV4PC1zYW1wbGUobnRoLGZsb29yKDAuNjcqbnRoKSkgICAgICAgIAp0ZXN0X2RhdGE8LWFzLm1hdHJpeCh0ZXN0aG9sZG91dF9kYXRhW3RoX2luZGV4LF0pCnRlc3RfbGFiZWw8LXRlc3Rob2xkb3V0X2xhYmVsW3RoX2luZGV4XQpob2xkb3V0X2RhdGE8LWFzLm1hdHJpeCh0ZXN0aG9sZG91dF9kYXRhWy10aF9pbmRleCxdKQpob2xkb3V0X2xhYmVsPC10ZXN0aG9sZG91dF9sYWJlbFstdGhfaW5kZXhdCmBgYApUcmFuc2Zvcm0gdGhlIHR3byBkYXRhIHNldHMgaW50byB4Z2IuTWF0cml4CmBgYHtyfQp4Z2JfdHJhaW48LXhnYi5ETWF0cml4KGRhdGE9dHJhaW5fZGF0YSxsYWJlbD10cmFpbl9sYWJlbCkKeGdiX3Rlc3Q8LXhnYi5ETWF0cml4KGRhdGE9dGVzdF9kYXRhLGxhYmVsPXRlc3RfbGFiZWwpCmBgYApHZXQgdGhlIG51bWJlciBvZiBuZWdhdGl2ZSAmIHBvc2l0aXZlIGNhc2VzIGluIG91ciBkYXRhCmBgYHtyfQpuZWdhdGl2ZV9jYXNlcyA8LSBzdW0odHJhaW5fbGFiZWw9PTApCnBvc3RpdmVfY2FzZXMgPC0gc3VtKHRyYWluX2xhYmVsPT0xKQpgYGAKIyBNb2RlbGluZwojIyBYR0Jvb3N0CgpDaG9zZW4gYmVjYXVzZSBJIGFtIHRyeWluZyB0byB1c2UgYSBkaWZmZXJlbnQgbW9kZWwgZm9yIGV2ZXJ5IHByb2plY3QKCkZpcnN0IHBhc3MKYGBge3J9CnBhcmFtczwtbGlzdChib29zdGVyPSJnYnRyZWUiLCAgICAgICAgICAgICAgICAgICAgICAgIyBkZWZhdWx0CiAgICAgICAgICAgICBvYmplY3RpdmU9ImJpbmFyeTpsb2dpc3RpYyIsICAgICAgICAgICAgIyB0aGUgb2JqZWN0aXZlIGZ1bmN0aW9uCiAgICAgICAgICAgICBldGE9MC4zLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBnYW1tYT0wLAogICAgICAgICAgICAgbWF4X2RlcHRoPTYsICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdGhlIG1heGltdW0gZGVwdGggb2YgZWFjaCBkZWNpc2lvbiB0cmVlCiAgICAgICAgICAgICBtaW5fY2hpbGRfd2VpZ2h0PTEsCiMgICAgICAgICAgICAgc2NhbGVfcG9zX3dlaWdodCA9IG5lZ2F0aXZlX2Nhc2VzL3Bvc3RpdmVfY2FzZXMsICAgIyBOT1QgREVGQVVMVCBjb250cm9sIGZvciBpbWJhbGFuY2VkIGNsYXNzZXMKICAgICAgICAgICAgIHN1YnNhbXBsZT0xLAogICAgICAgICAgICAgY29sc2FtcGxlX2J5dHJlZT0xKQpzZXQuc2VlZCgxMjMpCnhnYmN2PC14Z2IuY3YocGFyYW1zPXBhcmFtcywKICAgICAgICAgICAgICBkYXRhPXhnYl90cmFpbiwKICAgICAgICAgICAgICBucm91bmRzPTEwMCwgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICBuZm9sZD01LAogIyAgICAgICAgICAgICBtZXRyaWNzID0gbGlzdCgicm1zZSIsImF1YyIpLAogICAgICAgICAgICAgIHNob3dzZD1ULAogICAgICAgICAgICAgIHN0cmF0aWZpZWQ9VCwKICAgICAgICAgICAgICBwcmludF9ldmVyeV9uPTEwLAogICAgICAgICAgICAgIGVhcmx5X3N0b3BwaW5nX3JvdW5kcz0xMCwgICAgICAgICAgICAKICAgICAgICAgICAgICBtYXhpbWl6ZT1GKQpgYGAKUmV2aWV3IG1vZGVsCmBgYHtyfQp4Z2JjdgptaW4oeGdiY3YkZXZhbHVhdGlvbl9sb2ckdGVzdF9sb2dsb3NzX21lYW4pCmBgYApUcmFpbiB0aGUgWEdCb29zdCBjbGFzc2lmZXIKYGBge3J9CnNldC5zZWVkKDEyMykKeGdiMTwteGdiLnRyYWluKHBhcmFtcz1wYXJhbXMsCiAgICAgICAgICAgICAgICBkYXRhPXhnYl90cmFpbiwgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgbnJvdW5kcz00MiwKICAgICAgICAgICAgICAgIHdhdGNobGlzdD1saXN0KHZhbD14Z2JfdGVzdCx0cmFpbj14Z2JfdHJhaW4pLAogICAgICAgICAgICAgICAgcHJpbnRfZXZlcnlfbj0xMCwKICAgICAgICAgICAgICAgIGVhcmx5X3N0b3BwaW5nX3JvdW5kcz0xMCwKICAgICAgICAgICAgICAgIG1heGltaXplPUYsCiAgICAgICAgICAgICAgICBldmFsX21ldHJpYz0iZXJyb3IiKSAgICAgICAgICAgICAgICAgICMgJ2xvZ2xvc3MnCmBgYApQcmVkaWN0IG91dGNvbWVzIHdpdGggdGhlIHRlc3QgZGF0YQpgYGB7cn0KeGdiMV9wcmVkPC1wcmVkaWN0KHhnYjEsdGVzdF9kYXRhKQpteV9yb2MxPC1yb2ModGVzdF9sYWJlbCx4Z2IxX3ByZWQpCnBsb3QobXlfcm9jMSxwcmludC50aHJlcz0iYmVzdCIscHJpbnQudGhyZXMuYmVzdC5tZXRob2Q9InlvdWRlbiIsCiAgICAgcHJpbnQudGhyZXMuYmVzdC53ZWlnaHRzPWMoNTAsMC4yKSkKY29vcmRzKG15X3JvYzEsImJlc3QiLHJldD1jKCJ0aHJlc2hvbGQiLCJzcGVjaWZpY2l0eSIsInNlbnNpdGl2aXR5IiwiYWNjdXJhY3kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiwicmVjYWxsIiksdHJhbnNwb3NlPUZBTFNFKQpgYGAKCmBgYHtyfQppbXBvcnRhbmNlX21hdHJpeDE8LXhnYi5pbXBvcnRhbmNlKG1vZGVsPXhnYjEpCnByaW50KGltcG9ydGFuY2VfbWF0cml4MSkKeGdiLnBsb3QuaW1wb3J0YW5jZShpbXBvcnRhbmNlX21hdHJpeD1pbXBvcnRhbmNlX21hdHJpeDEpCnhnYi5kdW1wKHhnYjEsd2l0aF9zdGF0cz1UUlVFKQp4Z2IucGxvdC50cmVlKG1vZGVsPXhnYjEpCmBgYApEZWZpbmUgaHlwZXJwYXJhbWV0ZXIgZ3JpZCwgcmVhbGx5IGJpZyEgPSByZWFsbHkgc2xvdwpgYGB7cn0KbnRyZWVzPC00MgpoeXBlcl9ncmlkPC1leHBhbmQuZ3JpZCgKICBldGE9Mi9udHJlZXMsCiAgbWF4X2RlcHRoPWMoMyw0LDUsNiw4LDEwKSwKICBtaW5fY2hpbGRfd2VpZ2h0PWMoMSwyLDMpLAogIHN1YnNhbXBsZT1jKDAuNSwwLjc1LDEpLAogIGNvbHNhbXBsZV9ieXRyZWU9YygwLjQsMC42LDAuOCwxKSwKICBnYW1tYT1jKDAsMSwzLDEwLDEwMCwxMDAwKSwKICBlcnJvcj0wLCAgICAgICAgICAjIGEgcGxhY2UgdG8gZHVtcCBlcnJvciByZXN1bHRzCiAgdHJlZXM9MCkgICAgICAgICAgIyBhIHBsYWNlIHRvIGR1bXAgcmVxdWlyZWQgbnVtYmVyIG9mIHRyZWVzCmBgYApHcmlkIHNlYXJjaApgYGB7cn0KZm9yKGkgaW4gc2VxX2xlbihucm93KGh5cGVyX2dyaWQpKSkgewogIHNldC5zZWVkKDEyMykKICBtPC14Z2IuY3YoCiAgICBkYXRhPXRyYWluX2RhdGEsCiAgICBsYWJlbD10cmFpbl9sYWJlbCwKICAgIG5yb3VuZHM9bnRyZWVzLAogICAgb2JqZWN0aXZlPSJiaW5hcnk6bG9naXN0aWMiLAogICAgZWFybHlfc3RvcHBpbmdfcm91bmRzPTEwLAogICAgbmZvbGQ9NSwKICAgIHZlcmJvc2U9MSwKICAgIGV2YWxfbWV0cmljPSJlcnJvciIsCiAgICBwYXJhbXM9bGlzdCgKICAgICAgZXRhPWh5cGVyX2dyaWQkZXRhW2ldLAogICAgICBtYXhfZGVwdGg9aHlwZXJfZ3JpZCRtYXhfZGVwdGhbaV0sCiAgICAgIG1pbl9jaGlsZF93ZWlnaHQ9aHlwZXJfZ3JpZCRtaW5fY2hpbGRfd2VpZ2h0W2ldLAogICAgICBzdWJzYW1wbGU9aHlwZXJfZ3JpZCRzdWJzYW1wbGVbaV0sCiAgICAgIGNvbHNhbXBsZV9ieXRyZWU9aHlwZXJfZ3JpZCRjb2xzYW1wbGVfYnl0cmVlW2ldLAogICAgICBnYW1tYT1oeXBlcl9ncmlkJGdhbW1hW2ldKQogICkKICAjaHlwZXJfZ3JpZCRsb2dsb3NzW2ldPC1taW4obSRldmFsdWF0aW9uX2xvZyR0ZXN0X2xvZ2xvc3NfbWVhbikKICBoeXBlcl9ncmlkJGVycm9yW2ldPC1taW4obSRldmFsdWF0aW9uX2xvZyR0ZXN0X2Vycm9yX21lYW4pCiAgaHlwZXJfZ3JpZCR0cmVlc1tpXTwtbSRiZXN0X2l0ZXJhdGlvbn0KYGBgClJlc3VsdHMgb2Ygc2VhcmNoCmBgYHtyfQpoeXBlcl9ncmlkICU+JQogIGZpbHRlcihlcnJvcj4wKSAlPiUKICBhcnJhbmdlKGVycm9yKSAlPiUKICBnbGltcHNlKCkKYGBgCk9wdGltYWwgcGFyYW1ldGVyIGxpc3QgZnJvbSByZXN1bHRzIG9mIGdyaWQgc2VhcmNoCmBgYHtyfQpwYXJhbXM8LWxpc3QoCiAgZXRhPTAuMDQ3NjE5MDUsCiAgbWF4X2RlcHRoPTEwLAogIG1pbl9jaGlsZF93ZWlnaHQ9MSwKICBzdWJzYW1wbGU9MC43NSwKICBjb2xzYW1wbGVfYnl0cmVlPTAuNiwKICBnYW1tYT0wKQpgYGAKVHJhaW4gZmluYWwgbW9kZWwKYGBge3J9CnNldC5zZWVkKDEyMykKeGdiX2ZpbmFsPC14Z2Jvb3N0KAogIHBhcmFtcz1wYXJhbXMsCiAgZGF0YT10cmFpbl9kYXRhLAogIGxhYmVsPXRyYWluX2xhYmVsLAogIG5yb3VuZHM9MzEsCiAgb2JqZWN0aXZlPSJiaW5hcnk6bG9naXN0aWMiLAogIGVhcmx5X3N0b3BwaW5nX3JvdW5kcz0xMCwKICBuZm9sZD01LAogIHZlcmJvc2UgPSAwLAogIGV2YWxfbWV0cmljPSJlcnJvciIpCgp4Z2JfcHJlZF9maW5hbDwtcHJlZGljdCh4Z2JfZmluYWwsdGVzdF9kYXRhKQpsaWJyYXJ5KHBST0MpCm15X3JvY19maW5hbDwtcm9jKHRlc3RfbGFiZWwseGdiX3ByZWRfZmluYWwpCmNvb3JkcyhteV9yb2NfZmluYWwsImJlc3QiLHJldD1jKCJ0aHJlc2hvbGQiLCJzcGVjaWZpY2l0eSIsInNlbnNpdGl2aXR5IiwiYWNjdXJhY3kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIiwicmVjYWxsIiksdHJhbnNwb3NlPUZBTFNFKQpgYGAKSW1wb3J0YW5jZSBtYXRyaXgKYGBge3J9CmltcG9ydGFuY2VfbWF0cml4PC14Z2IuaW1wb3J0YW5jZShtb2RlbD14Z2JfZmluYWwpCnByaW50KGltcG9ydGFuY2VfbWF0cml4KQp4Z2IucGxvdC5pbXBvcnRhbmNlKGltcG9ydGFuY2VfbWF0cml4PWltcG9ydGFuY2VfbWF0cml4KQp4Z2IuZHVtcCh4Z2JfZmluYWwsd2l0aF9zdGF0cz1UUlVFKQp4Z2IucGxvdC50cmVlKG1vZGVsPXhnYl9maW5hbCkKYGBgCiMgRXZhbHVhdGlvbgoKUmVjb21tZW5kIHVzaW5nIG1vZGVsLiBSaXNrIG9mIG92ZXJmaXR0aW5nIHJlYWwsIHRob3VnaCBob2xkb3V0IHdhbnRzIHlvdSB0byBiZWxpZXZlIG90aGVyd2lzZS4gIFNob3VsZCB0cnkgU0hBUCBmb3IgZGV0YWlsZWQgcmV2aWV3Li4uIGxhdGVyCgpGaW5hbCBtb2RlbCBhZ2FpbnN0IGhvbGRvdXQKYGBge3J9CnhnYl9wcmVkX2ZpbmFsdnNob2xkb3V0PC1wcmVkaWN0KHhnYl9maW5hbCxob2xkb3V0X2RhdGEpCmxpYnJhcnkocFJPQykKbXlfcm9jX2ZpbmFsdnNob2xkb3V0PC1yb2MoaG9sZG91dF9sYWJlbCx4Z2JfcHJlZF9maW5hbHZzaG9sZG91dCkKY29vcmRzKG15X3JvY19maW5hbHZzaG9sZG91dCwiYmVzdCIscmV0PWMoInRocmVzaG9sZCIsInNwZWNpZmljaXR5Iiwic2Vuc2l0aXZpdHkiLCJhY2N1cmFjeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24iLCJyZWNhbGwiKSx0cmFuc3Bvc2U9RkFMU0UpCmBgYAoKYGBge3J9CnBsb3Qucm9jKGhvbGRvdXRfbGFiZWwseGdiX3ByZWRfZmluYWx2c2hvbGRvdXQpCnBsb3QobXlfcm9jX2ZpbmFsdnNob2xkb3V0LHByaW50LnRocmVzPSJiZXN0IiwgICAgICAgCiAgICAgcHJpbnQudGhyZXMuYmVzdC53ZWlnaHRzPWMoNTAsMC4yKSkKYGBgCkNvbmZ1c2lvbiBtYXRyaXgKYGBge3J9CnhnYl9wcmVkIDwtIGlmZWxzZSAoeGdiX3ByZWRfZmluYWx2c2hvbGRvdXQ+PTAuMzI5MDUyOSwxLDApCnRhYmxlKGhvbGRvdXRfbGFiZWwsIHhnYl9wcmVkKSAgCmBgYAojIERlcGxveW1lbnQKClhHQm9vc3QgcmVjb21tZW5kZWQuIE5lZWQgbW9kZXJuIHRvb2wgZm9yIGVtYWlsIHNjcmFwaW5nLCBzaW5jZSB0aGlzIGlzIHBhcnR5IGxpa2UgaXQncyAxOTk5IHN0dWZmLiBPdGhlcndpc2UgbWFrZSBwaXBlbGluZSBhbmQgZGVwbG95LiBTcGFtIGdvZXMgdG8gcXVhcmFudGluZSBub24gc3BhbSBnb2VzIHRvIHlvdXIgaW5ib3guICBCcmliZSBTQU0gdG8gaW5zdGFsbCB3aXRoIHBpenphIGF0IFByb3RvJ3MuCgoKCgo=